zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下:
1、当被监控端到达一个量级的时候,Web操作很卡,容易出现502
2、图层断裂
3、开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题
所以下面主要往两个优化方向考虑:
1、添加Proxy节点或者Node模式做分布式监控
2、调整Agentd为主动模式
本文章主要讲配置调整Agentd为主动模式
1.被监控端 zabbix_Agentd.conf 的配置调整
[[email protected] ~]# grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0 #客户端agent模式,设置为0表示关闭被动模式,被监控端的 zabbix_agentd 不监听本地端口
ServerActive=192.168.10.129#主动模式的server IP地址
Hostname=linux-node1.example.com#客户端的hostname,不配置则使用主机名
Include=/etc/zabbix/zabbix_agentd.d/
2.调整监控模块为active模式
克隆模块template os linux
克隆之后改个名字
清除模块template os linux的链接模块
将template os linux 模块中的监控项type改为active模式(主动模式)
克隆链接模块template app zabbix agent
重命名链接模块并添加
将这两个模块重新连接
将Template App Zabbix Agent Active 模块中的监控项type改为active模式(主动模式)
添加主机
添加设置为active模式的模块
监控好之后这个灯是不亮的,因为服务器是基于被动模式的,如果服务端无法直接连接到客户端被动模式端口这个灯是不绿的,就算是使用主被模式数据上来,这个灯也不绿
但是是监控上的,可以看到有数据