设为首页 收藏本站
查看: 680|回复: 0

[经验分享] zabbix性能监控

[复制链接]

尚未签到

发表于 2019-1-17 13:22:52 | 显示全部楼层 |阅读模式
在监控zabbix内部的性能时,我们通常使用如下的几个metric来衡量服务的性能:
  nvps, queue,update percent,process busy和pending sync data,cache。

通过增加相应的监控,可以有效的发现zabbix的性能问题,进而进行有的放矢的优化。


下面简要说明下:
1.nvps,每秒钟处理的数据量,是一个理论值。


取值的sql:


  整集群:
SELECTSUM(1.0/i.delay)AS qps  FROM items i,hosts h WHERE i.status='0' AND i.hostid=h.hostid AND h.status='0' AND i.delay0;


  breakdown 到proxy的:
SELECT h.proxy_hostid,SUM(1.0/i.delay) AS qps FROM items i,hosts h  WHERE i.status='0' AND i.hostid=h.hostid  AND h.status='0' AND i.delay0 AND h.proxy_hostid  is NOT NULL GROUP BY h.proxy_hostid;

2.数据的delay情况,比如一个item的interval设置为60s,但是在70s左右才进行了更新,那么就说明delay了10s。
queue值越大就说明zabbix内部存在某些性能上的问题了。比较常见的是poller和trapper的进程busy问题。
这个是一个interval check,可以建立如下item:
zabbix[queue]
zabbix[queue,5m]
zabbix[queue,10m]



3.update percent:
用来衡量item值的更新情况,如果percent很低,证明数据存在delay或者某些agent端的数据存在异常。


1)整个集群的
select a.aa/b.bb from
(select count(*) as aa from items
where lastclock > UNIX_TIMESTAMP()-1800 and delay < 900
and hostid in (select hostid from hosts where status=0)
and status = 0
) a,
(select count(*) as bb from items
where delay < 900 and status = 0
and hostid in (select hostid from hosts where status=0)
) b

  2)到proxy的:
select a.aa/b.bb from
(select count(*) as aa from items
where lastclock > UNIX_TIMESTAMP()-1800 and delay < 900
and hostid in (select hostid from hosts where status=0 and proxy_hostid = 10100)
and status = 0
) a,
(select count(*) as bb from items
where delay < 900 and status = 0
and hostid in (select hostid from hosts where status=0 and proxy_hostid = 10100)
) b  


其中proxy_hostid是对应的proxy的id.


  3)到主机,可以定位哪些主机的值更新存在异常(比unreachable的报警更加准确):
select b.hostname ,c.ip,a.update_percent as uppercent from
(select a.hostid,round(a.aa*100/b.bb,2) as update_percent from
(select hostid,count(*) as aa from items
where lastclock > UNIX_TIMESTAMP()-1800 and delay < 900
and hostid in (select hostid from hosts where status=0)
and status = 0 group by hostid
) a,
(select hostid,count(*) as bb from items
where delay < 900 and status = 0
and hostid in (select hostid from hosts where status=0) group by hostid
) b where a.hostid=b.hostid)a,(select hostid,lower(host) as hostname from hosts where status=0)b,
(select hostid,ip from interface where type='1')c
where a.hostid=b.hostid and b.hostid=c.hostid  having(a.update_percent) < 80 order by uppercent;  


4.内部进程的busy情况:
zabbix的工作线程的情况,可以快速定位zabbix内部的性能瓶颈,具体是一些interval check。
比如 zabbix[process,housekeeper,avg,busy], zabbix[process,http poller,avg,busy], zabbix[process,poller,avg,busy]等




5.proxy的 pending send data的情况
用了衡量proxy到server的数据发送情况,值越小说明数据发送越快。
  取值sql:
  


SELECT ((SELECT MAX(proxy_history.id) FROM proxy_history)-nextid) FROM ids WHERE field_name='history_lastid'  

  


  6.cache,interval check

比如: zabbix[wcache,history,pfree], zabbix[wcache,text,pfree]

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664446-1-1.html 上篇帖子: Zabbix监控多核CPU 下篇帖子: zabbix server、zabbix agent、zabbix proxy 配置文件详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表