Icinga2: интервал повторных уведомлений для каждой услуги - PullRequest
0 голосов
/ 27 декабря 2018

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

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

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

1 Ответ

0 голосов
/ 27 декабря 2018

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

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

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

...