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

Nagios: отправить уведомление об эскалации, если проблема подтверждена, но не устранена (состояние ОК)

Думаю, я знаю ответ (невозможно), но хочу посмотреть, есть ли у кого-нибудь умная идея или, возможно, я просто ошибаюсь в этом вопросе.

Цель

Мы хотим, чтобы наши начальники смены получали уведомления о сбоях обслуживания, если

Из документов Nagios:

Для уведомлений:

Уведомления повышаются тогда и только тогда, когда одно или несколько определений эскалации соответствуют текущему отправляемому уведомлению.

Для благодарностей:

Позволяет вам подтвердить текущую проблему для указанной службы. Признавая текущую проблему, будущие уведомления (для того же состояния обслуживания) отключены. Если параметр «липкий» установлен на единицу (1), подтверждение будет оставаться до тех пор, пока служба не вернется в состояние ОК. В противном случае подтверждение будет автоматически удалено при изменении состояния службы. Если для параметра «уведомить» установлено значение «1», контактам будет отправлено уведомление, указывающее, что текущая проблема службы подтверждена. Если для параметра «постоянный» задано значение «1», комментарий, связанный с подтверждением, будет сохраняться при перезапусках процесса Nagios. В противном случае комментарий будет удален при следующем перезапуске Nagios.

Насколько я понимаю, если проблема будет подтверждена, дальнейших уведомлений не будет - я полагаю, это относится и к уведомлениям об эскалации?

Я не вижу способа обойти это.

Наш рабочий процесс требует, чтобы команда L1 признала проблему, если они могут ее решить, и при необходимости эскалации. Тем не менее, мы хотели бы внедрить автоматический процесс, чтобы гарантировать, что такая эскалация произойдет.

Я хотел бы это сделать в Nagios, но если это невозможно, нам, возможно, придется заняться этим на стороне продажи билетов.

Спасибо!

У меня есть сценарий Perl, который это делает. Вам просто нужно просканировать файл status.dat на наличие:

host checks > last_time_up = <value>
service checks > last_time_ok = <value>

Оба хранят значение эпохи, которое, если оно превышает определенное количество секунд от текущей эпохи, приведет к добавлению check_description и / или host_name к отправляемому электронному письму. Мой скрипт также проверяет запись «problem_has_been_acknowledged» и сообщает мне, подтверждена ли она. Указанный сценарий запускается из записи crontab каждые 30 минут, отправляя список всех совпавших проверок хоста / службы.