博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix性能优化实践
阅读量:6408 次
发布时间:2019-06-23

本文共 1922 字,大约阅读时间需要 6 分钟。

最 近在做数据平台这边的监控,因为之前一直在用zabbix,而且个人比较倾向于把数据放在数据库中(这一点nagios和cacti是没法和zabbix 比的),方便后面做进一步的分析和处理(容量规划等)。在架构上考虑到扩展性和性能问题,采用了master---proxy的结构,其中proxy使用 active的模式,这样可以减轻master端的压力。

谈几个遇到的问题:

1.首先,为了了解zabbix的性能情况,增加了zabbix相关的metric监控

(具体见:http://1662935.blog.51cto.com/1652935/1345664)

2. 监控添加问题,开发了添加监控的前端页面,使用zabbix api的方式来一键添加监控,完成链接模板,分配分组的操作。其中主机到模板的链接通过主机名的方式进行匹配,缺乏可维护性,因为现在cmdb不可用,和 同事讨论下来,准备自己在数据库里面维护一套信息(host--process,process--template),每天动态更新。

3.在一个proxy添加了200台机器后,开始遇到了断图的问题

比如下面这个:

通 过分析zabbix server 数据库中history的数据,发现有数据丢失的情况,interval 为60s,1小时应该有60条数据,但是在数据库中只有十几条,进而分析proxy 数据库中的items表,delay设置是没有问题的,排除config sync的问题,分析agent端的日志,发现在agent端就存在数据获取不完整的问题(agent使用了passive的模式),也就是说proxy busy造成了获取数据不完整,调整StartPollers后解决,这个值默认是5,在passive agent的模式下,远远不够用,建议改成hosts*1.5的值。

4.unreachable 问题

1) 接入机器后,出现大批的host unreachable的报警(agent.ping item),但是主机是可以通的,通过部署网络监测脚本,排除agent---proxy---master 3者间的网络连通问题。通过增大 StartPollersUnreachable和UnreachablePeriod解决。

2)报警问题,zabbix在 ok--->unknown状态时不会产生报警,因此unreachable的报警不能发现host item获取值的问题,可通过增加host update percent监控实现(具体见:http://1662935.blog.51cto.com/1652935/1345789)。

5.集群整体update percent很低

通过breakdown到host,发现部分host update percent导致(几台机器agent有问题,值状态为unknown)修复后,整体的update percent升高到98%左右。

6.proxy服务器load问题

一 个proxy接入350台左右的集群,nvps200左右,但是load比较高,因为agent是passive的模式,数据获取都是proxy负责的, 因此如果item比较多,proxy的压力就会比较大。考虑转换agent的模式为active,将压力分散到agent端,proxy只负责数据 sync和config sync,调整后,proxy压力减小了很多,具体见下图(没数据的地方是item没有调整为active导致)

同时解决了queue过多的问题,调整后,基本没有超过5分钟的delay了。

7.housekeeper的问题

master端和proxy端都存在这个问题(proxy不能disable housekeeper),master端可以通过disable 并partition db解决,因为需要停机维护,暂时还没做调整。

8.db partition 

通过上面的调整,zabbix基本没什么压力了(单proxy 350台),扩展性也不错,后面需要做benchmark test,看看能跑到多少nvps.

小结:做zabbix的性能调优之前,要做好zabbix性能的监控,调整中要考虑把压力分散,master分散至proxy,proxy分散至agent。

对zabbix的工作机制和各种process的作用要了解,对zabbix的数据库表结构也要有比较好的理解。

本文出自 “” 博客,请务必保留此出处

本文转自 Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1601447

转载地址:http://ophea.baihongyu.com/

你可能感兴趣的文章
solr 安装部署
查看>>
shell编程---字符测试及for循环
查看>>
web请求来临,cpu如何应对
查看>>
双绞线的线序568A与568B
查看>>
我的友情链接
查看>>
详细了解下有关ASP空间的知识
查看>>
阿里巴巴前架构师 360 度无死角剖析微服务
查看>>
开源OSS.Social微信项目进阶介绍
查看>>
linux修改中文显示
查看>>
简单描述linux启动的过程
查看>>
iphone5 ***设置
查看>>
我的友情链接
查看>>
从另一个表中添加数据
查看>>
SUSE_NFS、Samba服务搭建
查看>>
如何修改MySQL字符集
查看>>
Microsoft Windows
查看>>
OC API库常见之函数(二)
查看>>
都是trigger惹的祸
查看>>
design a text edit
查看>>
CodeForces 454C Little Pony and Expected Maximum
查看>>