天天看点

zabbix 主动监控与被动监控一、被动模式二、主动模式

一、被动模式

无论是模式还是被动模式,都是站在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 主动监控与被动监控一、被动模式二、主动模式

被动模式工作流程:

zabbix 主动监控与被动监控一、被动模式二、主动模式

二、主动模式

主动模式是由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的压力。

2.1 主动模式工作流程

zabbix 主动监控与被动监控一、被动模式二、主动模式

环境

zabbix-server 10.0.0.31

MySQL 10.0.0.32

Linux 服务器 10.0.0.37

2.2 修改zabbix agent配置文件

[email protected]:~# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid 
LogFile=/var/log/zabbix/zabbix_agentd.log 
LogFileSize=0 
Server=10.0.0.31   #这里配置是被动监控所配置的IP  
ListenPort=10050 
StartAgents=30
ServerActive=10.0.0.31    #主动模式的zabbix server地址 
Hostname=10.0.0.37 
Include=/etc/zabbix/zabbix_agentd.d/*.conf

[email protected]:~# systemctl restart zabbix-agent.service
[email protected]:~# systemctl enable --now zabbix-agent.service
           

2.3 生成主动模式模板

监控项是被动监控还是被动监控,取决于监控项是被动获取,还是主动的。

第一步:克隆模板

zabbix 主动监控与被动监控一、被动模式二、主动模式

对克隆的模板进行取名

zabbix 主动监控与被动监控一、被动模式二、主动模式
zabbix 主动监控与被动监控一、被动模式二、主动模式

全部选中,选择批量更新

zabbix 主动监控与被动监控一、被动模式二、主动模式

选择主动模式

zabbix 主动监控与被动监控一、被动模式二、主动模式
zabbix 主动监控与被动监控一、被动模式二、主动模式

2.4 添加主机并关联模板

zabbix 主动监控与被动监控一、被动模式二、主动模式
zabbix 主动监控与被动监控一、被动模式二、主动模式
zabbix 主动监控与被动监控一、被动模式二、主动模式

2.5 验证主动模式端口

[email protected]:~# netstat -tanlp | grep 10.0.0.37
tcp        0      0 10.0.0.31:10051         10.0.0.37:58420         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58414         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58428         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58424         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58436         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58430         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58418         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58434         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58412         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58432         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58426         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58416         TIME_WAIT   -
tcp        0      0 10.0.0.31:10051         10.0.0.37:58422         TIME_WAIT   -
           

继续阅读