Icinga2: интервал повторных уведомлений для каждой услуги
Интервал повторного уведомления по умолчанию составляет 30 м, и его можно изменить с помощью объекта Notification. Но это повлияет на все услуги.
Я хочу установить интервал повторного уведомления на 5 м для критически важной службы и отключить повторное уведомление для низкого приоритета, оставив значение по умолчанию 30 м для остальных служб.
Нашел подобное обсуждение здесь, но пока нет решения: https://www.reddit.com/r/icinga/comments/73uc8s/setting_notification_interval_icingaweb2/
1 ответ
Нашел косвенный метод для достижения этой цели, используя пользовательские переменные, определенные в объекте Service, и доступ к ним через объект Notification.
Пример конфигурации приведен ниже:
apply Service "service1" {
# service conf goes here
vars.notification.interval = 5m
}
apply Service "service2" {
# service conf goes here
vars.notification.interval = 2h
}
apply Service "service3" {
# service conf goes here
vars.notification.interval = 0
}
apply Service "service4" {
# service conf goes here
}
apply Notification "notifications1" to Service {
# notification conf goes here
interval = (service.vars.notification.interval) || 20m
}
В приведенном выше примере интервал повторного уведомления следующий:
service1: 5 minutes
service2: 2 hours
service3: Notify once, no re-notificaiton
service4: 20 minutes (System default is 30m, here we modified the default to 20 minutes)
Объяснение:
interval = (service.vars.notification.interval) || 20m
Значение для переменной interval
будет установлен в service.vars.notification.interval
если он присутствует, еще установить 20m