暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

​Zabbix-(5)-​Zabbix 被动监控方式

IT科技 不拘一格 2020-12-11
580

续:

推荐阅读:

Zabbix-(1)-监控服务与Zabbix介绍

Zabbix-(2)-Zabbix安装-yum/apt方式安装

Zabbix-(3)-Zabbi-编译方式安装和汉化

Zabbix-(4)-Zabbix监控入门基础

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 负载很高还会导致不能及时获取到最新数据,但由于无需其他复杂配置,被设置为了默认的工作方式。

查看被动模式端口状态

root@WEB-1:~# netstat -tanlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      3051/zabbix_agentd  
tcp        0      0 0.0.0.0:48772           0.0.0.0:*               LISTEN      887/rpc.mountd      
tcp        0      0 0.0.0.0:56580           0.0.0.0:*               LISTEN      887/rpc.mountd      
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      738/rpcbind         
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      840/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1126/sshd           
tcp        0      0 0.0.0.0:35030           0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      1827/sshd: root@pts 
tcp        0      0 0.0.0.0:18494           0.0.0.0:*               LISTEN      887/rpc.mountd      
tcp        0      0 172.20.32.106:10050     172.20.32.101:29275     TIME_WAIT   -                   
tcp        0      0 172.20.32.106:10050     172.20.32.101:29345     TIME_WAIT   -                   
tcp        0      0 172.20.32.106:10050     172.20.32.101:29283     TIME_WAIT   -                   
tcp        0    404 172.20.32.106:22        172.20.32.1:12526       ESTABLISHED 1827/sshd: root@pts 
tcp        0      0 172.20.32.106:10050     172.20.32.101:29417     TIME_WAIT   -                   
tcp        0      0 172.20.32.106:10050     172.20.32.101:29355     TIME_WAIT   - 
......
# 本机监听的10050, 172.20.32.101为zabbix server,其使用随机端口向本机发起tcp连接

被动模式工作流程

主动模式

主动模式是由 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 为主动模式

在机器172.20.32.106

root@WEB-1:~# vim /etc/zabbix/zabbix_agentd.conf 
root@WEB-1:~# 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.20.32.101
ListenPort=10050
ListenIP=0.0.0.0
StartAgents=3
ServerActive=172.20.32.101   # 主动模式,需要连接的zabbix server地址
Hostname=172.20.32.106
Include=/etc/zabbix/zabbix_agentd.d/*.conf

root@WEB-1:~# systemctl restart zabbix-agent

部署机器172.20.32.107

root@WEB-2:~# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
root@WEB-2:~# dpkg -i zabbix-release_4.0-3+bionic_all.deb
root@WEB-2:~# apt update

root@WEB-2:~# apt install zabbix-agent -y

root@WEB-2:~# vim /etc/zabbix/zabbix_agentd.conf 
root@WEB-2:~# 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.20.32.101
StartAgents=5
ServerActive=172.20.32.101
Hostname=172.20.32.107
Include=/etc/zabbix/zabbix_agentd.d/*.conf

root@WEB-2:~# systemctl restart zabbix-agent
root@WEB-2:~# systemctl enable zabbix-agent
Synchronizing state of zabbix-agent.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable zabbix-agent
root@WEB-2:~# ss -ntl|grep 10050
LISTEN   0         128                 0.0.0.0:10050            0.0.0.0:*       
LISTEN   0         128                    [::]:10050               [::]:*    

在zabbix-server上添加主机

生成主动监控模板



对 Template OS Linux-active-WEB2 模板的监控项进行对应的修改,点击 监控项
点击全选,然后进行批量更新



关联主动监控模板

把做好的主动模板关联到主机172.20.32.107的WEB-2的主机中


最终结果界面:


刷新:

在web2的机器中查看是否有端口连接:

root@WEB-2:~# netstat -tanlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      20699/zabbix_agentd 
tcp        0      0 0.0.0.0:52070           0.0.0.0:*               LISTEN      18241/rpc.mountd    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      17615/rpcbind       
tcp        0      0 0.0.0.0:32208           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:10578           0.0.0.0:*               LISTEN      18241/rpc.mountd    
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      744/systemd-resolve 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      18443/sshd          
tcp        0      0 0.0.0.0:11158           0.0.0.0:*               LISTEN      18241/rpc.mountd    
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      19106/sshd: root@pt 
tcp        0      0 172.20.32.107:10050     172.20.32.101:34937     TIME_WAIT   -                   
tcp        0      0 172.20.32.107:10050     172.20.32.101:34849     TIME_WAIT   -                   
tcp        0      0 172.20.32.107:10050     172.20.32.101:34857     TIME_WAIT   -                   
tcp        0      0 172.20.32.107:10050     172.20.32.101:34973     TIME_WAIT   -                   
tcp        0      0 172.20.32.107:10050     172.20.32.101:34793     TIME_WAIT   -                   
tcp        0      0 172.20.32.107:10050     172.20.32.101:35021     TIME_WAIT   -                   
tcp        0      0 172.20.32.107:10050     172.20.32.101:34965     TIME_WAIT   -                   
tcp        0      0 172.20.32.107:10050     172.20.32.101:34905     TIME_WAIT   -                   
tcp        0      0 172.20.32.107:10050     172.20.32.101:35023     TIME_WAIT   -                   
#这里的zabbix-server随机端口访问zabbix-agent服务器是因为探测agent是否存活             

在zabbix-server主机中查看web2的机器连接情况:

root@Zabbix-server:~# netstat -tanlp|grep 107
tcp        0      0 172.20.32.101:10051     172.20.32.107:19841     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19839     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19849     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19831     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19833     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19843     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19827     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19837     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19829     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19835     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19847     TIME_WAIT   -                   
tcp        0      0 172.20.32.101:10051     172.20.32.107:19845     TIME_WAIT   -  

查看验证

在zabbix-server的前端web界面查看是否有数据:












要变成彻底的主动模式就需要把模板里面的所有被动模式都改为主动模式,包括文件系统监控项和触发器都要修改



推荐阅读:

Zabbix-(1)-监控服务与Zabbix介绍

Zabbix-(2)-Zabbix安装-yum/apt方式安装

Zabbix-(3)-Zabbi-编译方式安装和汉化

Zabbix-(4)-Zabbix监控入门基础


文章转载自IT科技 不拘一格,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论