У меня есть Nagios, проверяющий статус службы и отправляющий SMS-сообщения о состоянии службы.
Некоторые проблемы не важны ночью и предпочитают не отправлять их на ночь.
define timeperiod{
timeperiod_name non_work
alias Non work hours
sunday 00:00-24:00
monday 00:00-09:00,18:00-24:00
tuesday 00:00-09:00,18:00-24:00
wednesday 00:00-09:00,18:00-24:00
thursday 00:00-09:00,18:00-24:00
friday 00:00-09:00,18:00-24:00
saturday 00:00-24:00
}
Однако утром хотелось бы, чтобы все проблемы, а не только новые, были отправлены. Как я могу это настроить?
Или в нагиосах нет этой функции?
Некоторые проблемы ночью не важны
Как вы предлагаете, Nagios позволяет вам настраивать периоды времени, которые затем можно применять к проверкам, уведомлениям, группам уведомлений и отдельным пользователям. Конечно, если вы укажете, что проверки должны проводиться, но уведомление не отправлено, вы не увидите проблему в своем электронном письме. но вы можете в любое время просмотреть полную историю предупреждений на веб-страницах Nagios. Почему бы не запланировать задание cron для отправки вам ночных предупреждений по электронной почте утром? например
0 8 * * * wget -O /tmp/nagios.html -i /home/user/nagioslist; mail user@example.com </tmp/nagios.html
Где / home / user / nagioslist содержит что-то вроде:
http://example.com/nagios/cgi-bin/summary.cgi?report=1&displaytype=1
&timeperiod=last24hours&hostgroup=all&servicegroup=all&host=all&alerttypes=3
&statetypes=2&hoststates=7&servicestates=120&limit=1000
(это будет отображать до 1000 жестких состояний, обнаруженных за последние 24 часа)
OTOH вы можете настроить другой сценарий уведомлений для запуска уведомлений, которые вы хотите отложить, и просто поместить их в очередь для отправки позже (например, используя 'at').
Или вы можете настроить MTA для обработки исходящей почты только через определенные промежутки времени - в сочетании с разными адресами электронной почты / разными темами вы можете эффективно расставлять приоритеты / откладывать почту на основе получателя / темы / времени дня.
Я не уверен, что nagios не делает этого по умолчанию. Вам просто нужно изменить период времени уведомления, чтобы он включал только рабочие часы вместо нерабочих часов.
Это легко проверить: просто определите себе проверку, которая не выполняется по умолчанию, соответственно установленный период времени уведомления, начинающийся через несколько минут после текущего времени, и посмотрите, будете ли вы получать сообщения только в этот период.
Если это не сработает, вы можете попробовать поиграть со схемами эскалации, отправив письма по ночам и смс в рабочее время, с помощью оператора escalation_period.