Zabbix Agent 没有数据:主动与被动检查怎么排查
Zabbix Agent 没有数据时,先看监控项类型,再检查连接方向:被动检查由 Server 或 Proxy 访问 Agent,主动检查由 Agent 连接 Server 或 Proxy。只测通一个端口,不能证明两种采集方式都正常;还需核对主机名、实际采集节点和最新数据时间。
适用版本与排查前提
本文依据截至2026年11月3日查阅的 Zabbix 7.0 官方文档,面向 Linux 上的 Agent 2、Server 或 Proxy。它是资料整理,未在读者环境实测;传统 agentd、容器和自定义服务路径应按实际部署核对。主动与被动模式可以同时使用,但监控项类型决定走哪条路径,见官方检查流程。
开始前准备一条异常监控项的类型、键值、错误信息及最近成功时间,确认主机是否由 Proxy 监控。保留当前配置与日志,示例地址均为文档占位地址,需要替换;不要把 PSK、证书私钥或含敏感信息的完整配置贴入公开工单。
第一步:确认谁向谁连接
- 被动项:在负责采集的 Server 或 Proxy 上检查到 Agent 的路径,Agent 默认端口10050。
- 主动项:在 Agent 主机上检查到配置的 Server 或 Proxy 的路径,默认端口10051。此方向与被动检查相反。
- 经过 NAT、容器网络或多网卡时,记录接收端实际看到的来源地址,不以本机猜测替代。
默认端口可以修改;被动端口参数见zabbix_get 手册,主动连接过程见官方主动检查示例。端口连通只是一层证据,应用认证、监控项配置和数据入库仍可能失败。
第二步:被动检查核对 Server 和接口
核对前台 Agent 接口的 IP 或 DNS、端口,以及 Agent 2 的 Server 允许来源列表。Server 控制谁可以连接,不是主动检查的上传目标;未设置 Server 时,Agent 2 不启用被动监听。不要为了排错把它扩大到所有地址。参数含义见Agent 2 配置说明。
在已获准访问该 Agent 的采集节点上,可先查看工具帮助,再请求一个基础键值。以下命令仅适用于该 Agent 已允许未加密被动连接的环境;启用 TLS 时应依照现有策略配置 zabbix_get 的 TLS 参数,不能通过关闭 TLS 绕过。
zabbix_get -h
zabbix_get -s 192.0.2.20 -p 10050 -k agent.ping-s 指定 Agent 地址,-p 指定其监听端口,-k 指定监控项键值。agent.ping 成功通常返回1,表示这次基础请求得到响应;它不证明所有自定义键或前台定时采集正常。超时优先检查路径、监听与日志,拒绝或 TLS 错误则按具体报错查来源限制及加密设置。选项与 TLS 用法以工具手册为准。
第三步:主动检查核对 ServerActive 和 Hostname
主动检查重点是 ServerActive 的目标及 Hostname。后者必须对应前台的“主机名称”,不要误用仅供展示的可见名称。若由 Proxy 负责,应核对目标与主机归属一致。只填写主动目标不会自动把现有被动监控项变成主动项。配置示意如下,不能直接覆盖整个文件:
ServerActive=192.0.2.10:10051
Hostname=linux-app-01ServerActive 指定主动检查配置来源,Hostname 用于识别主机。确认前台主机和对应主动监控项已启用,再对照 Agent 日志查配置获取错误;名称不一致可能导致找不到主机或拿不到预期配置。完整流程及修改后重启要求见主动检查配置指南。不要只改 Agent 名称而忘记前台映射。
第四步:验证恢复,而非只看服务运行
- 若需要改配置,先备份实际文件,核对 Include 文件及服务启动参数,避免改错未加载的文件。
- 按部署方式在维护窗口应用修改;重启 Agent 会短暂影响采集。传统 Agent 的服务名和路径可能不同。
- 观察 Agent 与实际采集节点的同一时间窗口日志,再到前台“最新数据”检查目标监控项是否出现新时间戳与合理数值,覆盖至少一个实际更新周期。
- 如果基础键恢复而业务键仍不支持,继续查该键的权限、参数、插件或依赖;不要宣布整台主机已完全恢复。
Linux 服务本身启动失败时,可先参考本站systemd 服务失败的证据保留方法。本站Zabbix 7.2 安装脚本历史笔记记录了另一版本的安装背景,其中脚本不完整,不能当作本文7.0环境的直接修复方案。
常见问题与边界
zabbix_get 失败,是否代表主动检查也失败?
不能这样判断。它向 Agent 发起请求,验证的是被动侧路径;仅使用主动检查的 Agent 2 可以不监听被动端口。应改查主动目标、主机名称、Agent 日志及前台新数据,参见Server 与 ServerActive 参数定义。
服务在运行,为什么仍然没有指标?
进程存活不足以证明配置匹配或指标被接收。按“监控项类型—连接方向—采集节点—主机身份—单项最新数据”逐层记录结果,才能定位在哪一步丢失证据。本文不覆盖自动注册、Proxy 组切换或复杂 TLS 部署,这些场景应继续查对应版本官方文档。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭