一、概述
1、在 Zabbix 架构中,Agent 是负责采集主机监控数据的关键组件,而 Agent 与 Server 或 Proxy 之间的通信方式对系统性能与部署灵活性有着直接影响。
2、Zabbix 支持三种工作模式:被动模式(Passive Mode)、主动模式(Active Mode)以及混合模式。
3、本文将详细介绍这三种模式的通信机制、适用场景及优缺点,帮助你在实际部署中合理选择,提高系统稳定性与监控效率。
二、Zabbix Agent 的工作模式
被动模式(Passive Mode)
被动模式是 Zabbix 默认采用的通信方式。在此模式下,Zabbix Server 或 Proxy 会主动连接 Agent,请求指定的监控项数据,Agent 接到请求后返回结果。
– 通信方向:Server/Proxy → Agent
– 端口要求:Agent 默认监听 10050 端口,需确保 Server 可访问
– 网络环境要求:需在防火墙/NAT 中开放 10050 端口
类比场景:就像“领导每隔一段时间主动找下属询问销售业绩”
该方式实现简单,配置清晰,但在大规模监控场景中易出现性能瓶颈,主要表现为:
– Web 页面响应缓慢,甚至出现 502 错误;
– 监控图形中出现数据断层;
– 告警信息响应不及时。
这些问题多由 Server 同时向大量 Agent 发起连接造成系统资源竞争引起。
主动模式(Active Mode)
在主动模式下,Zabbix Agent 会主动连接 Zabbix Server 或 Proxy,首先获取需要监控的项清单,然后定期上报数据。
– 通信方向:Agent → Server/Proxy
– 连接端口:Server 默认监听 10051 端口
– 网络适配性:适用于云主机、防火墙或 NAT 后的网络环境
类比场景:“领导先分配任务,下属定期主动汇报进展”
主动模式的优点在于:
– Server 无需主动轮询,大大减轻数据采集负担;
– 可有效提升系统性能与响应速度;
– 特别适用于监控主机数量超过 500 台,或 Server 队列中存在大量延迟项的情况。
混合模式
Zabbix Agent 同时支持主动和被动模式,只需在配置文件中同时设置 Server 和 ServerActive 参数,即可启用混合模式。
在混合模式下,Agent 既可接受 Server 发起的被动请求,又能主动连接 Server 进行数据上报,具备更强的适应性,适合需要跨网络、混合部署的复杂环境。
总结
模式 | 通信方向 | 优点 | 适用场景 |
---|---|---|---|
被动模式 | Server → Agent | 配置简单,易于管理 | 内网环境、主机数量较少 |
主动模式 | Agent → Server | 减少 Server 负载,提升性能 | 云主机、NAT/防火墙环境、大规模监控 |
混合模式 | 双向支持 | 灵活适配各种网络环境 | 多样化部署环境中首选 |
Zabbix Agent 的通信模式选型,直接影响监控系统的可扩展性与稳定性。在设计部署方案时,建议根据网络结构、主机规模以及性能瓶颈情况灵活选用,必要时启用混合模式以实现兼容与优化的平衡。
三、配置示例:Zabbix Agent 的三种工作模式(含 WEB 模板指引)
被动模式(Passive Mode)
1、Agent 配置文件关键参数(zabbix_agentd.conf 或 zabbix_agent2.conf)
# 指定允许连接到 Agent 的 Zabbix Server 或 Proxy IP(多个用逗号分隔) Server=192.168.100.10 # Agent 监听端口(默认是 10050,可不改) ListenPort=10050 # 主机名需与 Zabbix 前端中的 Hostname 匹配 Hostname=host01
2、Zabbix Web 前端配置建议:
Agent 接口类型:Zabbix agent(即被动)
推荐模板:
– Linux by Zabbix agent
– Windows by Zabbix agent
– 或自定义的被动监控模板
主动模式(Active Mode)
1、Agent 配置文件关键参数(zabbix_agentd.conf 或 zabbix_agent2.conf)
# 指定允许被动连接的 Server(可选,若只用主动模式可省略) Server=192.168.100.10 # 指定 Agent 主动连接的 Server 或 Proxy(必须配置) ServerActive=192.168.100.10 # 主机名必须与 Zabbix Web 中配置的 Hostname 完全一致 Hostname=host01
2、Zabbix Web 前端配置建议:
Agent 接口类型:Zabbix agent (active)
推荐模板:
– Linux by Zabbix agent active
– Windows by Zabbix agent active
– 或自定义的主动监控模板
混合模式(Passive + Active)
1、Agent 配置文件关键参数(zabbix_agentd.conf 或 zabbix_agent2.conf)
# 支持被动请求的 Server Server=192.168.100.10 # 支持主动连接的 Server(可以与上面地址一致) ServerActive=192.168.100.10 # 主机名需保持一致 Hostname=host01
2、Zabbix Web 前端配置建议:
Agent 接口类型:根据实际应用场景选择 “Zabbix agent” 或 “Zabbix agent (active)” 均可
推荐模板:可同时应用 Linux by Zabbix agent 与 Linux by Zabbix agent active(按需选择),若希望统一使用主动模式数据,请优先选择带 active 的模板。
配置完成后的操作
# 检查配置语法 zabbix_agentd -t # 重启 Agent 服务 systemctl restart zabbix-agent # 或 systemctl restart zabbix-agent2