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

Проблема с переходом между состояниями и обработчиком событий Nagios

Мы используем Nagios для проверки повторяющихся процессов.

define service
{         
    use                             local-service    
    host_name                       xxx
    service_description             xxx Duplicate Processes
    check_interval                  1
    max_check_attempts              1
    contact_groups                  admins
    event_handler                   restart-dependent-processes
    check_command                   check_procs_duplicate!2!3!2!2!2

}

check_procs_duplicate проверяет наличие повторяющихся процессов и возвращает состояние - например, КРИТИЧЕСКИЙ.

Обработчик событий уничтожает повторяющиеся и зависимые процессы и запускает один экземпляр процесса и зависимый процесс. В конце этого снова Nagios проверяет, есть ли какие-либо повторяющиеся процессы, и соответственно устанавливает состояние - OK / WARNING / CRITICAL.

Обработчику событий требуется больше времени для запуска процессов, и в течение этого времени, если кто-то запускает процесс вручную, состояние само останется в CRITICAL.

В течение следующего интервала Nagios снова проверит повторяющиеся процессы и снова найдет их КРИТИЧНЫМ.

Обработчик событий будет не выполнить сейчас, так как предыдущее и текущее состояния являются КРИТИЧНЫМИ.

Есть указания о том, как исправить эту проблему?

Возможно, вы захотите сделать его нестабильной службой. См. Страницу документации на Неустойчивые услуги.

То, с чем вы имеете дело, не строго непостоянный сервис, но check_interval равный 1 и max_check_attempts равный 1 - это почти одно и то же.

Если вы сделаете службу непостоянной, она должна эффективно запускать обработчик событий каждый раз, когда это КРИТИЧНО, а не только когда состояние «изменяется».