Icinga2: Интервал повторного уведомления для каждого сервиса

Интервал повторных уведомлений по умолчанию составляет 30 минут, и его можно изменить с помощью объекта Notification. Но это повлияет на все службы.

Я хочу установить интервал повторного уведомления 5 м для критически важных служб и отключить повторное уведомление для низкого приоритета, оставьте значение по умолчанию 30 м для остальных служб.

Здесь нашел похожее обсуждение, но решения пока нет: https://www.reddit.com/r/icinga/comments/73uc8s/setting_notification_interval_icingaweb2/


person Seff    schedule 27.12.2018    source источник


Ответы (1)


Найден косвенный метод для достижения этого, используя пользовательские переменные, определенные в объекте службы, и доступ к ним через объект уведомления.

Пример конфигурации приведен ниже:

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

person Seff    schedule 27.12.2018