Хорошо, вот сделка, в настоящее время я использую два распределенных сервера мониторинга nagios и более 70 отслеживаемых хостов. Каждый из хостов контролируется с помощью дополнения nrpe, каждый из хостов имеет точно такую же конфигурацию программного и аппаратного обеспечения. Nrpe работает как служба xinetd на Centos 5.4. Версия Nrpe: 2.12 (и сервер, и контролируемый хост). Плагины Nagios: 1.4.14
Все проверки nrpe выполняются с 5-минутными интервалами.
Некоторые из последних введенных хостов иногда показывают «Истекло время проверки службы» с отслеживаемыми службами nrpe.
Итак, что я сделал до сих пор:
Я написал несколько дополнительных сценариев оболочки для этих служб, чтобы попытаться найти источник ошибки, попытался отладить как на серверах nagios, так и на серверах nrpe.
Из отладки определенно работает следующее:
Сетевое соединение между хостами Порт Nrpe открыт на обоих хостах / сервере Нет сетевых тайм-аутов вообще
Проверка Nrpe вызывается правильно, и плагины работают правильно. Я даже написал один скрипт регистратора, который регистрирует дату и время в начале выполнения плагина, а также вывод плагина при вызове через nrpe. Выполнение никогда не превышает 2 секунд
nrpe.conf настроен на ожидание вывода команды в течение 60 секунд, плагин Nrpe на сервере мониторинга настроен на ожидание не менее 30 секунд для вывода (даже если это приведет к совершенно другой ошибке).
Как бы то ни было, это привело меня к выводу, что что-то не так с демоном nrpe на контролируемом хосте. Даже если плагин возвращает контрольные данные nrpe, как-то не получается.
Я даже удалил все ulimit оболочки для пользователя nagios, запускающего демон nrpe, чтобы устранить это, но это не помогло.
В любом случае любая помощь очень ценится.
Хорошо, я наконец-то заработал.
Проблема заключалась в том, что оба сервера nagios выполняли служебные проверки и сообщали результаты главному узлу, и все эти проверки были выполнены безупречно. У главного узла была проверка актуальности службы, поэтому, если серверы мониторинга не могли выполнить проверки, главный сервер планировал эти проверки самостоятельно.
В любом случае, новые серверы были в новом диапазоне IP, и по умолчанию порт nrpe был закрыт на главном сервере.
Открытие порта решило проблему. Хотя все еще странно, что он вернул «Истекло время проверки службы» вместо «Ошибка тайм-аута сокета».