一、被动模式:
无论是模式还是被动模式,都是站在zabbix agent角度来说的工作模式,比如被动模式,是说zabbix agent被动的接受zabbix server周期性发送过来的数据收集指令,在被动模式之下,zabbix server会根 据主机关联的模板中的监控项和数据采集间隔时间,周期性的打开随机端口并向zabbix agent服务器的10050发起tcp连接,然后发送获取监控项数据的指令,即zabbix server发送什么指令那么zabbix agent就收集什么数据,zabbix server什么时候发送zabbix agent就什么时候采集,zabbix server不发 送zabbix agent就一直不响应,所以zabbix agent也不用关心其监控项和数据采集周期间隔时间。
被动模式的优点就是配置简单,安装后即可使用,因此也成为zabbix的默认工作模式,但是被动模式的 最大问题就是会加大zabbix server的工作量,在数百甚至数干台服务器的环境下会导致zabbix server 需要轮训向每个zabbix agent发送数据采集指令,如果zabbix 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 的压力。
主动模式工作流程
修改zabbix agent为主动模式:
# grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix agentd.pid
LogFile=/var/log/zabbix/zabbix_ agentd.log
LogFilesize=0
Server=172.31.0.101
ListenPort=10050
StartAgents=3
ServerActive=172.31.0.101 #主动模式的zabbix server地址
Hostname=172.31.0.107
Include=/etc/zabbix/zabbix_agentd.d/*.conf
生成主动模式模板
添加主动模式主机并关联主动模板
验证主动模式主机状态
验证主动模式主机数据
验证主动模式主机端口
netstat -tanlp | grep 106
tcp 0 0 172.31.0.101:10051 172.31.0.106:56050 TIME_WAIT
tcp 0 0 172.31.0.101:10051 172.31.0.106:56052 TIME_WAIT