Я много читал об этой проблеме и пытаюсь решить ее по-своему, но все равно не повезло.
Я запустил debian 7 как сервер nagios. Проблема в том, что я не могу проверить состояние моего контроллера домена Active Directory (Win Server 2003) через этот плагин на основе сканирования nrpe - https://www.itefix.no/i2/check_ad
192.168.1.12 - мой контроллер домена
NRPE на сервере win работает и правильно слушает:
root@nagios:~ > check_nrpe -u -H 192.168.1.12 -p 5666
I (0,4,1,102 2013-07-15) seem to be doing fine...
но когда я пытаюсь проверить AD через плагин, возникает эта ошибка:
root@nagios:~ > check_nrpe -u -H 192.168.1.12 -p 5666 -c check_ad
No handler for command: check_ad
Кстати: я успешно запустил эту команду прямо с сервера win:
Вот моя конфигурация NSClient ++ (я включил проверку внешнего скрипта): C: \ Program Files \ NSClient ++ \ nsclient.ini
CheckExternalScripts = 1
и добавьте это в конец файла:
[NRPE Handlers]
check_ad=scripts\check_ad.exe --dc
check_ad_member=scripts\check_ad.exe –-member
Я нашел решение. Похоже, у nsclient есть проблемы с запуском внешних команд. Я не хотел копать еще больше, поэтому теперь я использую 2 сервера nrpe на моем ADDC. 1 - Стандартный NSClient ++ для сбора информации о времени безотказной работы, хранилище и прочем. 2 - nrpe_nt.0.8b - для мониторинга состояния Active Directory
Просто скачайте его на сервер и установите через:
cd C:\nrpe_nt.0.8b-bin\bin\
NRPE_NT.exe -i
затем я изменил порт прослушивания на файл конфигурации nrpe.cfg, чтобы он не конфликтовал с nsclient ++
server_port = 5667
Добавлен IP-адрес этой машины: server_address = 192.168.1.12
Разрешить подключения с моего сервера nagios: allowed_hosts = 192.168.1.250
Разрешить аргументы команды: dont_blame_nrpe = 1
И, наконец, добавьте команду check_ad: команда [check_ad] = C: \ nrpe_nt.0.8b-bin \ bin \ check_ad \ check_ad.exe --member
Вы перезапускали службу nsclient ++ при редактировании файла конфигурации?
Исходя из моего опыта, я предпочитаю использовать Winrpe https://www.itefix.no/i2/winrpe. Я думаю, что это менее запутанно, чем nsclient ++.