Я запускаю сервер Nagios Core в локальной сети. У меня есть 5 компьютеров с Windows вне сети, с которыми я разговариваю через пять туннелей ssh на 5 разных портах, слушая пять пользовательских приложений NSClient ++. С этой конфигурацией все работает хорошо, однако я заметил, что check_nt MEMUSE дает нам нечетные числа, тогда как на самом деле все, что нам нужно / это физическая память.
После долгих поисков я обнаружил check_nrpe, который, похоже, даст мне данные, которые я ищу.
Я добавил в команды следующее. cfg:
define command {
command_name CheckWindowsPhysicalMem
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -c CheckMEM -a MaxWarn=$ARG1$% MaxCrit=$ARG2$% ShowAll=long type=physical
}
И я поместил следующее в свой windows.cfg
define service{
use generic-service
host_name HOSTNAME
service_description Physical Memory
check_command CheckWindowsPhysicalMem!80!90
}
. Я перезапустил и nagios, и nagios-nrpe-server, и теперь получаю эту ошибку:
CHECK_NRPE: Недополнение заголовка получения - только 0 байт получено (4 ожидаемых)
Я не уверен, что я здесь пропустил, но это похоже на зависимость или пакет. Гугл-фу проиграл на этом.
1. Тестирование NRPE соединения
Вы можете протестировать соединение между вашими окнами и Nagios через NRPE следующим образом :
./check_nrpe -H Server
I (0.4.3.143 2015-04-29) seem to be doing fine...
Если вы не передадите никаких аргументов в check_nrpe, сервер (windows client) ответит своим номером версии.
2. Тестирование вашей команды
На вашем windows-клиенте вы можете протестировать локально вашу команду в консоли с помощью nscp test
.
Если ваша команда возвращает хороший результат, вы можете протестировать с вашего nagios сервера без аргументов :
# ./check_nrpe -H Server -c alias_cpu
OK: CPU load is ok.|'total 5m'=1%;80;90 'total 1m'=1%;80;90 'total 5s'=2%;80;90
3. NRPE arguments
По умолчанию NRPE не разрешает посылать аргументы из Nagios удаленному клиенту по соображениям безопасности. Поэтому вы должны включить его в nsclient.ini для каждой оконной станции.
.