我使用在 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
错误)。