如何在 Nagios ping 检查中使用动态 IP 地址?

如何在 Nagios ping 检查中使用动态 IP 地址?

我目前无法在 Nagios/Icinga 中监控使用动态 IP 地址的目标机器的正常运行时间。网络使用 Windows 域控制器进行 DNS,Icinga 服务器在网络内的 Ubuntu 机器上运行。

手动运行“check_ping”命令时出现以下错误:

> ./check_ping -H somehost -w 10,1% -c 20,2%
check_ping: Invalid hostname/address - somehost

当我运行“ping”时,它起作用了:

> ping somehost
PING somehost.local (192.168.0.206) 56(84) bytes of data.
64 bytes from somehost.local (192.168.0.206): icmp_req=1 ttl=128 time=0.215 ms

如何启用使用动态 IP 的主机监控?

答案1

由于您的 AD 域(不幸)使用“.local”作为 DNS 后缀,因此您可能与 mDNS(又名 zeroconf、bonjour 等)存在冲突。

Ubuntu 默认安装/启用了 Avahi mDNS。您可能必须禁用(通过 nsswitch)或删除 avahi 软件包,以允许 .local DNS 名称的非 mDNS 主机解析。

此外,您可能想使用 check_icmp 而不是 check_ping,因为它的速度大约快 10 倍。

答案2

尝试以下方法:

./check_ping -H somehost.local -w 10,1%-c 20,2%

答案3

一个建议更多的是一种解决方法,而不是针对您的具体问题的回答。

您的网络上的 DHCP 服务器是什么?也许为“somehost”设置保留/静态 IP,然后使用带有 IP 而不是主机名的 check_ping 脚本是一个好主意。

事实上,出于测试目的,check_ping 是否适用于 ip rathar 而不是主机名?

答案4

您需要的是从 DHCP 服务器到 DNS 服务器的动态更新,这样主机 A 记录无论分配了什么 IP 地址,都将始终获得相同的名称。然后您的“check_ping -H host-name”将始终指向正确的地址。

抱歉,我不知道这在 Windows DHCP/DNS 中是如何工作的。

相关内容