monit 无法解析主机名:getaddrinfo 未找到主机

monit 无法解析主机名:getaddrinfo 未找到主机

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

相关内容