华夏之羲 发表于 2024-12-2 23:03:22

一文说透Zabbix的主动模式与被动模式

在Zabbix中,主动模式(active mode)和被动模式(passive mode)是Zabbix代理(Zabbix Agent)的两种工作模式。Zabbix的主动模式与被动模式是其在数据收集与监控方面的两种不同工作方式,这两种模式都是针对Zabbix Agent而言的。本文要细说一些Zabbix主动模式与被动模式的下相关知识点。这里对各个细节问题进行一下归纳总结。如有疏漏或不对的地方,敬请指正!
被动模式:

被动模式就是Zabbix server向Zabbix agent发出指令获取数据,即Zabbix agent被动的去获取数据并返回给Zabbix server, Zabbix server周期性的向agent索取数据的指令, 这种模式的最大问题就是会加大Zabbix server的工作量, 成百上千台服务器的环境下,Zabbix server可能不能及时获取到最新数据,这个也是默认的工作方式。
Zabbix被动模式的特点:

[*]在被动模式下,Zabbix Server主动向Zabbix Agent发送请求来获取相关的监控指标数据。Zabbix Server是从Zabbix Agent拉取数据的方式(pull方式)。
[*]Zabbix Agent在TCP端口10050上监听、等待Zabbix Server的请求。
[*]必须在参数zabbix_agentd.conf文件中设置参数Server的值
主动模式:

在主动模式下,Zabbix Agent主动采集数据并返回给Zabbix Server。从原理上来说,就是Zabbix Agent自动获取监控项数据,并将这些数据推送给Zabbix Server。在一定程度上,主动模式可以减轻Zabbix Server的压力。主动模式下,Zabbix Agent每隔N秒(N值由参数RefreshActiveChecks决定,默认值为RefreshActiveChecks=120)推送一次数据。
Zabbix主动模式的特点:

[*]Zabbix Agent不再监听任何端口,而是定期向Zabbix Server的TCP端口10051(默认端口)发送数据 。
[*]要配置主动模式,需要在Zabbix Agent的配置文件zabbix_agentd.conf中设置ServerActive参数为Zabbix Server的地址,并确保Hostname参数正确设置 。
[*]主动模式下,Zabbix Agent主动向Zabbix Server推送数据。
注意:这里所谓的主动模式和被动模式是指Zabbix Agent是主动推送数据还是被动接受指令去获取数据。如果你这样理解的话,就能很容易理解主动模式和被动模式了。
优缺点对比:

被动模式优点:


[*]配置简单,安装后即可使用,因此也成为 Zabbix 的默认工作模式。
[*]可以减少被监控设备的负担/负载。
[*]适合小规模环境使用。
[*]适合客户端资源有限的情况,如低配置的监控设备。
被动模式缺点:


[*]会增加 Zabbix Server 的负荷,尤其是在有大量 Agent 节点时。
[*]可能会出现数据延迟的情况。从时间开销和发送数据量上都处于劣势,对 Zabbix-Server 的性能开销较大
主动模式优点:


[*]可以减轻 Zabbix Server 的压力,特别是在监控大量主机时。
[*]可以监控不可达的远程设备。
[*]监控本地网络不稳定区域。
[*]简化 Zabbix 分布式监控的维护。
[*]主动模式下,客户端会定期主动发送数据,可以更快地获取到监控信息
主动模式缺点:


[*]对于客户端的资源占用相对较高。
[*]每个代理只能有一个主动检查进程,且不能增加检查的进程数量。可能导致一些监控项没有收到数据而被计算到队列中。
注意,每个代理可以同时以两种模式运行。可以让一台机器在被动模式下运行一些监控项,在主动模式下运行一些监控项。这是使用相同的Agent完成的,不同之处在于配置文件。
端口要求:

不管主动模式还是被动模式,你都可能要找网络管理员在防火墙上开通相关端口。那么你对主动模式和被动模式需要开启哪些端口熟知吗?
被动模式:需要确保Zabbix Server可以连接到Zabbix Agent的TCP端口10050。也就是说只需开通Zabbix Server访问Zabbix Agent所在服务器的10050端口即可。
主动模式:需要确保Zabbix Agent可以访问Zabbix Server的TCP端口10051。通常不需要打开任何入站端口,因为Agent是向外发送数据的。
那么在这里就有一个很很意思的问题,如下所示:

[*]被动模式下,Agent的端口设置10050, 那么主动模式下,端口是否需要设置10051?答案是主动模式下,不需要设置端口10051,因为这里是设置Zabbix Agent的端口,主动模式下,只需要Zabbix Agent能访问Zabbix Server的10051端口。
[*]主动模式下,需要设置下面Agent的信息吗?这条信息可以移除吗?答案,如果使用主动模式下,可以不用设置接口信息。可以。当然前提是除了模板,你没有设置任何监控项。
扫描上面二维码关注我如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
来源:https://www.cnblogs.com/kerrycode/p/18582311
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 一文说透Zabbix的主动模式与被动模式