普拉多VX

人生一路,不问来时,不知归期

0%

zabbix 主动模式和被动模式

前言

zabbix监控有两种数据获取模式,一种是主动模式,另一种为被动模式。这种模式的对象都是对于agent而言的,默认情况下zabbix使用的是被动模式。对于小规模业务监控下,使用被动模式具有模版多、灵活配置等优点。如果监控的服务器过多就会导致server端压力,这时候有两种办法,一种增加zabbix proxy(分摊server的压力) ,另一种就可以采用主动模式监控。并且需要手动修改监控的模版为主动模式。

区别

两者区别在于连接方向问题

被动模式:agent启动10050端口进行监听,等待server端向agent轮询请求获取监控项的监控数据,由agent返回。
主动模式:由agent请求server获取主动的监控项列表,主动将监控项内需要检测的数据通过10050提交给server/proxy的10051端口。

参考图:

被动模式

被动模式的优点就是配置简单,安装后即可使用,因此也成为zabbix的默认工作模式,但是被动模式的 最大问题就是会加大zabbix server的工作量,在数百甚至数干台服务器的环境下会导致zabbix server需要轮训向每个zabbix agent发送数据采集指令,如果zabbix server负载很高还会导致不能及时获取到最新数据,但由于无需其他复杂配置,被设置为了默认的工作方式。

被动模式agent上会看到有由server端来的很多连接及端口打开状态,如果压力大的话监控项过多确实抗不住。

主动模式

主动模式是由zabbix agent主动向zabbix server的10051端口发起tcp连接请求,因此主动模式下必须 在zabbix agent配置文件中指定zabbix server的IP或者主机名(必须可以被解析为IP地址),在连接到 zabbix server之前zabbix agent是不知道自己要采集那些数据以及间隔多久采集一次数据的,然后在连接到zabbix server以后获取到自己的监控项和数据采集间隔周期时间,然后再根据监控项采集数据并返 回给zabbix server,在主动模式下不再需要zabbix serve向zabbix agent发起连接请求,因此主动模式 在一定程度上可减轻zabbix server打开的本地随机端口和进程数,在-定程度就减轻看 zabbix server 的压力。

1
2
3
4
5
6
7
8
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=47.93.184.140
StartAgents=3 # 如果为0被动模式将被禁用
ServerActive=47.93.184.140 # 主动模式serverip
Hostname=webserver.roddypy.com
Include=/etc/zabbix/zabbix_agentd.d/*.conf

连接模版为active模式

查看agent连接,可以看到连接数减少了,并且通过连接10051端口

查看监控

主动模式监控正常

查看绘图

参考