Я обновил сервер с Debian 8 до Debian 9. На сервере был запущен Nagios 3, чтобы выполнить некоторые проверки, но эта работа была прекращена. Естественная замена - Icinga (версия 1).
Я установил его, скопировал и скорректировал файлы конфигурации. Большая часть работала напрямую, но удаленные проверки NRPE не работают.
Прежде всего я использовал check_nrpe_1arg
команда, но, похоже, она была изменена на check_nrpe
чтобы было ясно, что он не принимает аргументы (единственный аргумент - это имя удаленной команды).
Это исправило конфигурацию запуска icinga. Но все проверки NRPE находятся в неизвестно заявить с этим сообщением:
CHECK_NRPE: Receive header underflow - only -1 bytes received (4 expected).
Я выполнил команду из командной строки bash, чтобы проверить, правильно ли она работает, и мне так кажется.
$ /usr/lib/nagios/plugins/check_nrpe -H 192.168.4.1 -c check_users
USERS OK - 0 users currently logged in |users=0;5;10;0
Но как-то от Icinga команда не работает.
Что ж, я нашел проблему.
Я использовал SSL из командной строки, но не из конфигурации Icinga. Я перепутал исполняемый файл check_nrpe
с одноименным определением команды.
Это конфигурация NRPE из версии 3 (поставлялась с Debian 9):
# this command runs a program $ARG1$ with no arguments and disables SSL support
define command {
command_name check_nrpe
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -n
}
# this command runs a program $ARG1$ with no arguments and enables SSL support
define command {
command_name check_nrpe_ssl
command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Обратите внимание на -n
параметр на первом. Я перевел все варианты использования Nagios 3 check_nrpe_1arg
с участием check_nrpe
но это должно быть check_nrpe_ssl
.
Я сделал это, и теперь это работает.