Zabbix Agent active主动模式监控
zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下:
1、当被监控端到达一个量级的时候,Web操作很卡,容易出现502
2、图层断裂
3、开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题所以下面主要往两个优化方向考虑:
1、添加Proxy节点或者Node模式做分布式监控
2、调整Agentd为主动模式
由于第一个方案需要增加物理机器,所以首先尝试第二方案。
一、被监控端 zabbix_Agentd.conf 的配置调整:
LogFile=/tmp/zabbix_agentd.log
StartAgents=0 #客户端agent模式,设置为0表示关闭被动模式,被监控端的 zabbix_agentd 不监听本地端口,所以无法在 netstat -tunpl 中查看到zabbix_agentd进程
#Server=10.10.10.201 如果设置为纯被动模式,则应该注释掉这一条指令
ServerActive=**.**.**.** #主动模式的server IP地址
Hostname=test_host #重要:客户端的hostname,不配置则使用主机名
RefreshActiveChecks=120 #被监控端到服务器获取监控项的周期,默认120s即可
BufferSize=200 #被监控端存储监控信息的空间大小
Timeout=10 #超时时间
注:纯主动模式下的zabbix agent,只能支持Zabbix Agent (Active)类型的监控项。
二、调整监控模板
建议完整克隆一个Template OS Linux 模板来改:
1.点击Template OS Linux 模板名称
2.点击最下方的Full clone(全克隆)
3.修改模板名称
4.点击添加
5.进入模板列表找到刚才添加的模板 并点击监控项
6.全选
7.最下方找到批量更新
8.类型打勾 选择主动式
9.更新
10.更新自动发现规则的监控项
11.按照刚才的方法更新监控项
12.把不支持主动式的监控项暂停
三、添加主机
1.配置主机
2.配置模板完成
添加完成后,你会发先zabbix的Z灯亮不亮:
因为服务器是基于被动模式的,如果服务端无法直接连接到客户端被动模式端口这个灯是不绿的,就算是使用主被模式数据上来,这个灯也不绿
四、测试数据
因为有延迟,这是我之前用同样方式添加的主机数据视图:
说明监控到了数据。
参考文章:http://blog.csdn.net/lamyuqingcsdn/article/details/52512603
实际配置:
[root@localhost etc]# cat zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
DebugLevel=3
ListenPort=10050
StartAgents=0
ServerActive=*.*.*.*
Hostname=192.168.4.71
RefreshActiveChecks=120
BufferSend=5
BufferSize=10000
# MaxLinesPerSecond=100
Timeout=3
UnsafeUserParameters=1