Назад | Перейти на главную страницу

Как я могу использовать динамические IP-адреса с проверкой ping Nagios?

В настоящее время у меня проблемы с отслеживанием времени работы целевой машины в 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?

Поскольку ваш домен AD (к сожалению) использует ".local" в качестве суффикса DNS, у вас, вероятно, есть конфликт с mDNS (AKA zeroconf, bonjour и т. Д.)

Ubuntu поставляется с установленным / включенным Avahi mDNS по умолчанию. Возможно, вам придется отключить (через nsswitch) или удалить пакеты avahi, чтобы разрешить разрешение хоста не-mDNS для имен DNS .local.

Кроме того, вы можете использовать check_icmp вместо check_ping, так как это примерно в 10 раз быстрее.

Одно предложение, которое является скорее обходным решением, чем ответом на ваш конкретный вопрос.

Что действует как DHCP-сервер в вашей сети? Возможно, было бы неплохо настроить резервирование / статический IP-адрес для 'somehost', а затем использовать ваш скрипт check_ping с IP вместо имени хоста.

Фактически, для целей тестирования работает ли check_ping с ip rathar, чем с именем хоста?

Попробуйте что-нибудь вроде:

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

Вам нужны динамические обновления с DHCP-сервера на DNS-сервер, чтобы запись хоста A всегда получала одно и то же имя независимо от назначенного IP-адреса. Тогда ваш "check_ping -H host-name" всегда будет указывать на правильный адрес.

Извините, я понятия не имею, как это работает в Windows DHCP / DNS.