最近入到了
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的反向解析