![monit 无法解析主机名:getaddrinfo 未找到主机](https://linux22.com/image/678142/monit%20%E6%97%A0%E6%B3%95%E8%A7%A3%E6%9E%90%E4%B8%BB%E6%9C%BA%E5%90%8D%EF%BC%9Agetaddrinfo%20%E6%9C%AA%E6%89%BE%E5%88%B0%E4%B8%BB%E6%9C%BA.png)
我使用在 Debian Wheezy 上运行的 monit v5.16 来使用 ping 指令检查服务器是启动还是关闭。
这是我的配置:
check host my.server.domain with address my.server.domain
mode passive
every 5 cycles
if failed ping4 count 5 then alert # IPv4 only
if failed ping6 count 5 then alert # IPv6 only
我总是收到以下错误:
[CET Mar 1 23:28:32] error : Ping for my.server.domain -- getaddrinfo failed: Name or service not known
[CET Mar 1 23:28:32] error : 'my.server.domain' ping test failed
如果我从命令行 ping ,则一切正常:
PING my.server.domain (yy.yyy.yyy.yyy) 56(84) bytes of data.
64 bytes from myoffice.com (xx.xxx.xx.xxx): icmp_req=1 ttl=54 time=1147 ms
我不想将任何东西放入我的 /etc/hosts 中,也不想在运行 monit 的服务器上放入任何硬编码的内容。
我该怎么做才能解决这个问题?这是一个错误吗?
我应该使用其他版本的 monit 吗?有什么解决方法吗?
答案1
这里的问题源于我添加了一条ping6
指令。
ping4
(或ping
)单独使用即可。添加ping6
会导致此检查失败(并导致getaddrinfo failed
错误)。