При запуске проверки на OS X – NRPE возвращает ошибку вида:
# /usr/lib/nagios/plugins/check_nrpe -H somehost -c check_load -a ‘-w 1,2,3 -c 10,20,30’
CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.
В логе /var/log/system.log
– появляются записи такого вида:
==> /var/log/system.log <==
Oct 22 16:55:08 ldnmpgoba01 nrpe[640]: Error: Request contained command arguments, but argument option is not enabled!
Oct 22 16:55:08 ldnmpgoba01 nrpe[640]: Client request was invalid, bailing out…
Проблема вызвана тем, что сам NRPE устанавлвиался из готово пакета – отсюда>>>.
Ошибка “Error: Request contained command arguments!” гооворит о том, что check_nrpe
был собран без поддержки обработки переданных аргументов.
Что бы исправить эту ошибку – необходимо пересобрать NRPE из исходных кодов с опцией --enable-command-args
.
Загружаем:
# wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz # tar xfp nrpe-2.15.tar.gz # cd nrpe-2.15
Конфигурируем и устанавливаем:
# ./configure --enable-command-args # make all # make install-plugin # make install-daemon # make install-daemon-config
Редактируем файл /usr/local/nagios/etc/nrpe.cfg
, и меняем:
dont_blame_nrpe=0
на:
dont_blame_nrpe=1
Создаём файл автозапуска /Library/LaunchDaemons/com.nagios.nrpe.plist
с таким содержимым:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>GroupName</key> <string>nagios</string> <key>Label</key> <string>com.nagios.nrpe</string> <key>ProgramArguments</key> <array> <string>/usr/local/nagios/bin/nrpe</string> <string>-c</string> <string>/usr/local/nagios/etc/nrpe.cfg</string> <string>-i</string> </array> <key>UserName</key> <string>nagios</string> <key>Sockets</key> <dict> <key>Listeners</key> <dict> <key>SockServiceName</key> <string>5666</string> <key>SockType</key> <string>stream</string> </dict> </dict> <key>inetdCompatibility</key> <dict> <key>Wait</key> <false/> </dict> <key>StandardErrorPath</key> <string>/Library/Logs/nrpe/nrpe-err.log</string> <key>StandardOutPath</key> <string>/Library/Logs/nrpe/nrpe-out.log</string> </dict> </plist>
Проверяем локально, что ошибки больше нет:
# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load -a '-w 1,2,3 -c 10,20,30' OK - load average: 0.06, 0.00, 0.00|load1=0.060;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;
И проверяем с сервера Nagios:
# /usr/lib/nagios/plugins/check_nrpe -H somehost -c check_load -a '-w 1,2,3 -c 10,20,30' OK - load average: 0.04, 0.00, 0.00|load1=0.040;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;
Готово.