Zabbix agent is unreachable for 5 minutes

最近入到了 Zabbix agent on HOSTNAME is unreachable for 5 minutes 的问题, 但实际server到agent的网络通信是没有任何问题的, 这种情况下, 我们需要登录到agent这台主机, 查看zabbix_agent的日志来排查错误

查看zabbix_agent的启动进程

1
> ps aux | grep "zabbix"

如果是编译安装的agent, 手动指定配置文件启动的进程, 在这里你可以看到你引用的配置文件的地址

查看配置文件

在配置文件中你需要查看的是记录日志的位置

1
LogFile=/var/log/zabbix/zabbix_agentd.log

查看日志报错

1
> tail -f /var/log/zabbix/zabbix_agentd.log

在我这里的实际情况中, 出现了以下报错信息:

1
25863:20180116:103949.621 failed to accept an incoming connection: connection from "192.168.10.85" rejected, allowed hosts: "zabbix_server.lvrui.io"

在这里我们可以看到几个关键字眼

  • reject: 说明客户端拒绝了服务端的请求
  • allowed hosts: 允许访问客户端的服务端地址

通过以上关键字可以判断出, 客户端认到的server的实际IP地址是192.168.10.85, 但是客户端配置的server地址却是zabbix_server.lvrui.io, 客户端不能反解析出这个IP地址对应的域名, 所以拒绝了server的请求

最简单的解决方法就是将zabbix_agent配置文件中的Server ServerActive的配置都改成 192.168.10.85 即可

第二个办法, 你要是非要用域名的话, 你可以将监控模式改为主动模式, 主动去服务端推送数据

第三个办法, 是你需要在你的网络环境中, 配置对应zabbix_server的反向解析