nrpe на сервере Azure — nrpe-srvr
, пользователь nrpe
, выполнение скрипта /usr/local/naemon/libexec/check_curl_http.php
я назову его script
Желаемый результат после ./script -U www.google.com
:
Page OK: HTTP Status Code 200 - 11099 bytest in 0.** seconds | time=0.059 size=11099
Я получаю вышеуказанный результат, запуская скрипт из root
или nrpe
Запуск sudo -u nrpe ./script -U www.google.com
возвращает:
Ошибка открытия страницы! Err: Не удалось подключиться к [ipv6 addr] Сеть недоступна
Однако запуск su - nrpe -c './script -U www.google.com'
работает с желаемым результатом.
Наймон сообщает:
CHECK_NRPE: тайм-аут сокета через 30 секунд
Другие проверки NRPE на том же хосте работают, поэтому я думаю, что это как-то связано с выполнением пользователем этого конкретного скрипта. У меня был отказ от SELinux
, но я изменил контекст. Удаление контекста и установка разрешающего режима для SELinux привели к той же ошибке. Включены файлы журнала NRPE с отладкой, но, кроме Running command
, это мало что показывает. Eсть:
WARNING: my_system() seteuid(0): Operation not permitted
в журналах, но глядя на документацию поддержки, это «нормальное» поведение.
su - nrpe - c './script -u www.google.com'
в порядке. Так что я думаю, что сценарий это нормально. Выполнение NRPE вызывает проблему. - person itChi   schedule 01.04.2019