Zabbix Agent的工作模式

Zabbix Agent的工作模式,第1张

Zabbix Agent的工作模式 背景

最近发现以前部署的Zabbix Server突然连不上几台AWS的机器了。刚部署完成的时候是可以连接上的。所以借着这次查找并解决问题的过程,简单了解了一下Zabbix Agent的工作模式。

Zabbix Agent的工作模式

Zabbix-Agent的工作模式可以分为主动模式(Active)和被动模式(Passive)。

主动模式: Zabbix-Agent主动连接Zabbix-Server,对Zabbix-Server的性能开销较少,适合大规模环境使用。

被动模式:Zabbix-Server向Zabbix-Agent请求数据,Zabbix-Agent被动接受数据请求后回应,属于一对一的响应模式。比如有100个监控项,Zabbix-Server需要向Zabbix-Agent 请求100次,同时,Zabbix-Agent在响应Zabbix-Server时,对监控项数据采集也需要消耗时间,Zabbix-Server 只能耗着时间安静地等待Zabbix-Agent。

相对于主动模式的高效,被动模观时间开销和发送数据量上都处于劣势,对Zabbix-Server的性能开销较大,适合小规模环境使用。

解决Agent无法连接的问题

查看一下zabbix相关的进程,发现zabbix进程还运行着。那应该还是连接不上的问题。

ps aux | ag zabbix

root     19035  0.0  0.0  13424   768 pts/0    S+   15:08   0:00 ag zabbix
zabbix   55291  0.0  0.0  85036  1308 ?        SN   14:48   0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix   55292  0.0  0.0  85036  1888 ?        SN   14:48   0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix   55293  0.0  0.0  85036  2220 ?        SN   14:48   0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix   55294  0.0  0.0  85036  2220 ?        SN   14:48   0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix   55295  0.0  0.0  85036  2220 ?        SN   14:48   0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix   55296  0.0  0.0  85036  2300 ?        SN   14:48   0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
zabbix   55297  0.0  0.0  85036  2300 ?        SN   14:48   0:00 /usr/sbin/zabbix_agentd: active checks #2 [getting list of active checks]

同时,从进程输出中看到了Zabbix Agent的配置文件。进到配置文件中就看到了工作模式的配置和agent相关的日志文件了。
这里的Server配置项用于设置被动模式连接的Zabbix-Server的IP地址,ServerActive配置项用于设置主动模式连接的Zabbix-Server的IP地址。

vim /etc/zabbix/zabbix_agentd.conf

LogFile=/tmp/zabbix_agentd.log
Include=/etc/zabbix/zabbix_agentd.d/
Server=xxxx,xxxx,xxxx
ServerActive=xxxx
HostnameItem=system.hostname
AllowKey=system.run[*]
Hostmetadata=aws prod linux
PidFile=/run/zabbix/zabbix_agentd.pid
UnsafeUserParameters=1

再看一下日志文件里的内容,这里也写的很明显了,Agent拒绝接收了从Server发过来的连接请求。涉及到host敏感信息,这里把host信息全都用xxxx替代了。

59371:20220130:142059.118 failed to accept an incoming connection: connection from "xxxx" rejected, allowed hosts: "xxxx,xxxx,xxxx"

看了一下conf中的Server和ServerActive的配置,确实没有写上对应的Server host。所以这里应该是配置文件被谁改过了。接下来我们把Zabbix Server的host添加到配置文件(Server配置项),然后再重启zabbix-agent,这样之后就可以连上了。
重启命令:

systemctl restart zabbix-agent

日志文件里的内容:

24531:20220130:142705.998 Starting Zabbix Agent [xxxx]. Zabbix 5.4.9 (revision d81e50696f).
 24531:20220130:142705.998 **** Enabled features ****
 24531:20220130:142705.998 IPv6 support:          YES
 24531:20220130:142705.998 TLS support:           YES
 24531:20220130:142705.998 **************************
 24531:20220130:142705.998 using configuration file: /etc/zabbix/zabbix_agentd.conf
 24531:20220130:142705.998 agent #0 started [main process]
 24532:20220130:142705.999 agent #1 started [collector]
 24533:20220130:142705.999 agent #2 started [listener #1]
 24534:20220130:142705.999 agent #3 started [listener #2]
 24535:20220130:142706.000 agent #4 started [listener #3]
 24536:20220130:142706.000 agent #5 started [active checks #1]
 24537:20220130:142706.000 agent #6 started [active checks #2]

接下来也可以在Zabbix网页上看到相应的监控信息了。

参考
    https://blog.csdn.net/qq_34556414/article/details/107348514

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5715026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存