У меня очень странная проблема с Nagios. По какой-то причине кажется, что check_apt не работает, и я не знаю почему. Он действует так, как будто вообще не выполняет проверку.
У меня nrpe работает на разработке коробки, и все другие проверки работают нормально. На коробке с установленным nagios определение выглядит следующим образом.
define service{
use generic-service
host_name development
service_description APT
check_command check_nrpe!check_apt
}
При «разработке» nrpe.cfg содержит следующую строку.
command[check_apt]=/usr/lib/nagios/plugins/check_apt -n
Кроме того, если я нахожусь на коробке с установленным Nagios и выполняю следующее, он работает!
/usr/lib/nagios/plugins/check_nrpe -H development -c check_apt
который возвращается
APT OK: 0 packages available for upgrade (0 critical updates).
Итак, что здесь не так? Казалось бы, другие плагины NRPE работают нормально, только APT, похоже, не работает, и запуск его вручную на коробке, похоже, работает. Предложения?
Проблема, которую я обнаружил, была в описании службы, хотя я думаю, что в Nagios есть ошибка или опция, которая не указана. Выходные данные отладки показали, что фактическая командная строка запускается в NRPE.
/usr/lib/nagios/plugins/check_nrpe -H server.mechsoft-vps1.com -c check_mysqld -a
Проблема здесь в том, что -a требует параметра. Однако проверка этого не делает. Изменение определения службы для добавления параметра устранило проблему.
define service{
use generic-service
host_name development
service_description APT
check_command check_nrpe!check_apt!1
}
Попробуйте включить отладку в файле конфигурации nrpe nrpe.conf на вашем хосте разработки. Установите debug = 1, перезапустите nrpe, если он запущен как демон, и проверьте свой / var / log / messages или файл журнала nagios на наличие ошибок. Вы можете запланировать немедленную проверку вашей команды check_apt из веб-интерфейса Nagios.
Также попробуйте запустить с консоли с «правильным» пользователем, не как root, а как пользователь nagios. Или ваш nagios работает под root? В наших системах nagios работает как пользовательский nagios.
Если ваш nagios работает под пользователем nagios, попробуйте:
su -c '/ usr / lib / nagios / plugins / check_nrpe -H development -c check_apt' nagios
Ричард