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

NRPE: check_aacraid - использовали это?

Я старею Unable to read output сообщение из этого теста NRPE. Я могу запустить другие тесты на этой машине, и я могу su - nagios -c "<path to check_aacraid>" при локальном запуске и работает.

Смотря на /var/log/messages показывает, что процесс открыт и запущен - он просто не возвращает никаких сообщений, которые NRPE может переварить.

Что еще я могу использовать для отладки этого? Я установил debug = 1 в nrpe.cfg и у меня есть нагиос sudo так как NOPASSWD:ALL. (да, это большая дыра в безопасности .. Я уже отчаянно пытаюсь заставить эту работу работать)

Обе системы (сервер nagios и клиент NRPE) являются CentOS 6.2.

РЕДАКТИРОВАТЬ:
Для тестирования с сервера Nagios я использовал командную строку:

/usr/local/nagios/libexec/check_nrpe -H <IP of nrpe machine> -c check_aacraid

Это сработает, если я попробую check_users или check_total_procs (значения по умолчанию, которые поставляются с установкой NRPE). Это также сработает, если я переименую одну из этих команд в stuff и передать это с -c к check_nrpe. Это заставляет меня думать, что проблема не в серверных nagios.

На стороне клиента единственное изменение, которое я внес в NRPE.CFG (вне тестирования - см. выше) - добавить строку:

command[check_aacraid]=/usr/local/sbin/check-aacraid.py

В остальном все по умолчанию.

Я могу выполнить эту команду, войдя в систему как nagios а также через su - nagios -c "cmd".

Судо в скрипте, вероятно, не работает, потому что оно не на tty при запуске NRPE. Проверьте / etc / sudoers на наличие:

Default requiretty

И прокомментируйте это.

Я бы сказал, что PATH в вашей интерактивной оболочке красиво и долго и включает в себя все, что check_aacraid нуждается, но НРПЭ PATH коротко и мило, и в нем не хватает того, что вам нужно. Выберите свой любимый метод улучшения PATH для check_aacraid, и скорее всего, все ваши проблемы исчезнут.

Кроме того, общий метод диагностики NRPE заключается в следующем: strace -f -s 1024 PID сервера NRPE, и просто посмотрите, что произойдет. Обычно довольно очевидно, что идет не так.

«Проблема» - это SELinux. Когда я «echo 0 / selinux / enforce», плагин работает. Теперь выясним, как работать с системой, а не вокруг нее.

Вероятно, вы уже пробовали это, но я столкнулся с той же проблемой с другим плагином. Решение с моей стороны заключалось в том, чтобы добавить эту строку в nrpe.cnf:

command[check_aacraid]=sudo /usr/local/sbin/check-aacraid.py

в sudoers файл:

nagios ALL=NOPASSWD:/usr/local/bin/check-aacraid.py

В дополнение к комментированию из Default requiretty то, что вы упомянули, уже было сделано.