monicazhang 发表于 2017-8-27 15:39:50

让Zabbix Agent自己决定主动还是被动

前言我们都知道,我们在Zabbix Web界面上进行添加监控的操作,那么Zabbix Server会根据用户设置的监控项,给Zabbix Agent发送请求。Zabbix Agent会向Zabbix Server返回监控项的数值。这是Zabbix默认的监控方式,这没有什么问题,但是我们上面说了,随着被监控对象的数量急剧增大,这样的方式显然给Zabbix Server带来了巨大的压力,因为Zabbix Server要不停的对所有监控项去轮询请求Zabbix Agent,这也是性能的瓶颈点。那么我们能不能让Zabbix Agent自己把数据发送给Zabbix Server呢?答案是肯定的!
Zabbix-Agent被动模式我们先来探讨下Zabbix被动模式,像上面提到了,这个是Zabbix默认的工作模式,而且默认情况下,所有Key的Type都是Zabbix agent。注意这里的被动是相对于Zabbix-Agent而言的。
Zabbix-Agent主动模式为了只支撑更多的受监控主机和监控对象,我们可以让Zabbix-Agent运行在主动模式下,也就是Zabbix-Agent主动请求Zabbix Server来获取监控项,并把监控项的值发送给Zabbix Server。再次强调主动和被动是针对Zabbix-Agent而言的,指的是Agent是主动还是被动模式。通过修改zabbix-agent的配置,我们可以让agent处于主动监控模式,这也是在大规模监控中推荐的模式,根据经验,超过300台服务器的监控就需要考虑使用agent主动模式。# grep '^'/etc/zabbix/zabbix_agentd.confPidFile=/var/run/zabbix/zabbix_agentd.pidLogFile=/var/log/zabbix/zabbix_agentd.logLogFileSize=0StartAgents=0ServerActive=192.168.56.11Hostname=linux-node2.example.comHostMetadataItem=system.uname原创:赵班长Include=/etc/zabbix/zabbix_agentd.d/
创建Zabbix Agent Active模式的模板那么在实际工作中,我们还需要为主动模式,单独创建一个模版,因为我们要把监控类型都修改为主动。可以使用模版克隆功能克隆出来一个,然后进行修改。Configuration->Templates-> Template OS Linux->Full clone,克隆出一个新的模板命名为Template OS Linux Active。然后进入新克隆出来的模板,进入Items,全选所有Items,然后Mass update,将Type修改Zabbix Agent Active。
最后,我总结一下zabbix-agent主动模式的知识:
[*]agent active能解决什么问题?监控项多,zabbbix server很繁忙,数据采集延迟大。
[*]agent active怎么启用?修改配置文件并重启
[*]agent active什么时候启用?监控主机超过100,或者监控队列有大量延迟。

页: [1]
查看完整版本: 让Zabbix Agent自己决定主动还是被动