迁移后 Zabbix 监控代理连接失败,通常是因为主机名、IP 地址或加密密钥与服务器端记录不一致。最推荐的处理方向是核对客户端配置文件中的 Hostname 与服务器端主机定义,并确认网络端口可达性。
先说结论:解决连接失败的核心是确保 Agent 端配置的身份标识与 Server 端记录完全匹配,并放行通信端口。
- 先确认:检查 zabbix_agentd.conf 中的 Hostname 参数是否与 Server 端主机名称大小写一致
- 先处理:更新服务器端主机接口 IP 地址为迁移后的新 IP,或配置自动注册规则
- 再验证:使用 zabbix_get 命令测试密钥交换和数据获取是否成功
命令速用版
以下命令用于重启代理服务并测试连通性,需在代理主机上执行。
systemctl restart zabbix-agent
zabbix_get -s <Zabbix_Server_IP> -k system.uname
若使用主动模式,检查日志确认是否有 connected 字样。
为什么会这样
迁移导致网络身份变更是连接失败的根本原因。Zabbix 依赖主机名进行身份验证,依赖 IP 地址建立 TCP 连接。
服务器端保存了旧主机的 IP 和主机名指纹。迁移后,若客户端配置未更新,服务器会拒绝未知主机名的连接。若 IP 变更但服务器端未更新接口地址,主动检查请求会发往旧 IP。若启用了 TLS/PSK 加密,密钥文件路径或内容不一致也会导致握手失败。
分步处理
按顺序执行以下操作,每步完成后观察日志变化。
1. 核对客户端配置
打开 zabbix_agentd.conf 文件,确认 Hostname 参数。该值必须与 Zabbix 前端页面中主机名称完全一致,包括大小写。
2. 更新服务器端主机信息
登录 Zabbix 前端,进入数据采集->主机,找到对应主机。检查接口栏 IP 地址是否已更新为迁移后的新 IP。若 IP 变更,直接编辑保存。
3. 检查防火墙规则
确认新服务器安全组或防火墙已放行 10050 TCP 端口(被动模式)或允许出站连接至 Server 的 10051 端口(主动模式)。
4. 处理自动注册场景
若使用自动注册,检查数据采集->自动注册动作配置。确保主机元数据或主机名匹配规则能覆盖新迁移的主机,否则需手动删除旧主机触发重新注册。
怎么验证是否生效
通过前端状态图标和命令行工具双重验证。
前端检查:主机列表页中,该主机的状态图标应变为绿色可用。最新数据页面应能看到最近几分钟内的监控项数据。
命令行检查:在 Server 端执行 zabbix_get -s <Agent_IP> -k system.uname。若返回操作系统信息而非错误码,说明连接正常。
日志检查:查看 agent 日志文件(通常位于 /var/log/zabbix/zabbix_agentd.log)。主动模式下应看到 Successfully sent buffered data,被动模式下不应出现 Invalid hostname 错误。
常见坑
主机名大小写敏感:Zabbix 主机名区分大小写,Linux 系统尤其需要注意配置文件中的 Hostname 与前端显示是否完全匹配。
主动模式配置错误:若使用主动模式,ServerActive 参数必须填写正确的 Zabbix Server IP 或 DNS 名称,否则 Agent 不知道向哪里发送数据。
TLS/PSK 密钥未同步:迁移后若未复制加密密钥文件,或配置文件中的 TLSConnect 参数未正确指向新路径,连接会被立即拒绝。
常见问题
zabbix_get 返回 Not allowed 怎么办?
这是主机名不匹配的典型报错。检查 Agent 配置文件中的 Hostname 参数,确保它与 Server 端主机定义名称完全一致。
迁移后数据断断续续是什么原因?
可能是网络波动或旧主机记录未清理导致冲突。建议在 Server 端删除旧主机记录,确保 Agent 重新建立唯一连接。
主动模式 Agent 日志显示 No active checks?
说明 Server 端未对该主机配置监控项,或自动注册规则未生效。检查 Server 端主机是否已启用并关联了模板。
参考来源
Zabbix Official Documentation - Zabbix agent configuration
https://www.zabbix.com/documentation/current/en/manual/appendix/config/zabbix_agentd
Zabbix Official Documentation - Auto registration
https://www.zabbix.com/documentation/current/en/manual/discovery/auto_registration