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

Миграция с Nagios3 на Icinga нарушает проверки nrpe

Я обновил сервер с 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.

Я сделал это, и теперь это работает.