agent的两种工作模式
主动监控与被动监控:
无论是模式还是被动模式,都是站在zabbix-agent角度来说的工作模式
被动模式:
原理:
server主动请求agent,发送需要收集的监控项
agent被动去采集数据,采集完成后返回给server
- zabbix agent被动的接受zabbix server周期性发送过来的数据收集指令,在被动模式之下,zabbix-server会根据主机关联的模板中的监控项和数据采集间隔时间,周期性的打开随机端口并向zabbix-agent服务器的10050发起tcp连接,然后发送获取监控项数据的指令
- 即zabbix-server发送什么指令那么zabbi-agent就收集什么数据,zabbix-server什么时候发送zabbix-agent就什么时候采集,zabbix-server不发送zabbix-agent就一直不响应,所以zabbix-agent也不用关心其监控项和数据采集周期间隔时间
优点:
- 被动模式的优点就是配置简单,安装后即可使用,因此也成为zabbix的默认工作模式
缺点:
- 被动模式的最大问题就是会加大zabbix-server的工作量
- 在数百甚至数千台服务器的环境下会导致zabbix-server需要轮训向每个zabbix-agent发送数据采集指令
- 如果zabbix-server负载很高还会导致不能及时获取到最新数据,但由于无需其他复杂配置,被设置为了默认的工作方式
主动模式:
原理:
agent主动向server请求自己的监控项
server根据agent的配置文件中的hostname来判断,主机绑定的监控模板是哪些,然后返回监控项给agent
- 主动模式是由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-web界面的模板关联时,把监控项的类型改为:Zabbix客户端(主动式)
其他的都是与普通模式使用一样
vim zabbix_agent.conf
Server=2.2.0.0/16 #允许网段访问我
ListenIP=0.0.0.0 #监听本机ip
StartAgents=0 #启用主动模式
ServerActive=2.2.2.42 #上级的ip
Hostname=2.2.2.22 #请求上级时的主机名称,此处为2.2.2.22,那么在上级的web界面中,添加主机时的主机名称必须根这个一样