Настройка политик уведомлений

Политики уведомлений определяют, как оповещения маршрутизируются в точки контакта.

Политики имеют древовидную структуру. Каждая политика может иметь одну или несколько дочерних политик и набор сопоставителей меток.

Каждое оповещение (или экземпляр оповещения) вычисляется политикой по умолчанию, а затем каждой дочерней политикой. Оповещения маршрутизируются в подходящую политику уведомлений путём сопоставления меток оповещения с сопоставителями меток политики. Дополнительные сведения см. в разделе сопоставление меток и маршрутизация в политиках уведомлений.

A diagram displaying how the notification policy tree routes alerts

Когда экземпляр оповещения назначается политике уведомлений, политика уведомлений отвечает за:

Note

Политика уведомлений по умолчанию и её дочерние политики назначаются конкретному Alertmanager, и они не могут использовать точки контакта или mute timings от других Alertmanager.

Редактирование политики уведомлений по умолчанию

  1. В меню слева нажмите Alerts & IRM, а затем Alerting.
  2. Нажмите Notification configuration, затем выберите вкладку Notification policies.
  3. В выпадающем списке Choose Alertmanager выберите внешний Alertmanager. По умолчанию выбран Grafana Alertmanager.
  4. В разделе Default policy нажмите … -> Edit.
  5. В Default contact point обновите точку контакта, куда отправлять уведомления, когда правила оповещений не совпадают ни с одной конкретной политикой.
  6. В Group by выберите метки для группировки оповещений. Если этой политике соответствуют несколько оповещений, они группируются по выбранным меткам, и уведомления отправляются по группам. Подробнее об использовании этой опции см. в разделе Группировка уведомлений.
  7. В Timing options задайте параметры времени, чтобы настроить, когда отправляются уведомления.
    • Group wait: время ожидания перед отправкой первого уведомления для новой группы оповещений. По умолчанию — 30 секунд.
    • Group interval: время ожидания перед отправкой уведомления об изменениях в группе оповещений. По умолчанию — 5 минут.
    • Repeat interval: время ожидания перед отправкой уведомления, если группа не изменилась с момента последнего уведомления. По умолчанию — 4 часа.
  8. Нажмите Save, чтобы сохранить изменения.

Добавление дочерней политики

Вы можете создать дочернюю политику под политикой по умолчанию или под существующей дочерней политикой.

Если вы хотите выбрать, где разместить вашу политику, см. раздел Добавление соседней политики.

  1. В меню слева нажмите Alerts & IRM, а затем Alerting.

  2. Нажмите Notification configuration, затем выберите вкладку Notification policies.

  3. В выпадающем списке Choose Alertmanager выберите Alertmanager. По умолчанию выбран Grafana Alertmanager.

  4. Нажмите +New child policy у политики по умолчанию или у существующей дочерней политики.

  5. В разделе Matching labels дочерней политики добавьте одно или несколько правил сопоставления меток, чтобы сузить конкретный случай из родительской политики.

    Например, дочерняя политика политики по умолчанию обрабатывает оповещения team=security, или дочерняя политика обрабатывает только оповещения severity=critical родительской политики.

  6. В выпадающем списке Contact point выберите точку контакта для отправки уведомлений. Если оставить пустым, точка контакта родительской политики наследуется.

  7. При необходимости включите Continue matching subsequent sibling nodes, чтобы продолжать сопоставление соседних политик даже после того, как оповещение совпало с текущей политикой. Если включено, одно и то же оповещение могут обрабатывать несколько политик.

  8. При необходимости включите Override grouping, чтобы задать группировку, отличную от родительской политики. Если отключено, группировка родительской политики наследуется.

  9. При необходимости включите Override general timings, чтобы задать параметры времени, отличные от родительской политики. Если отключено, параметры времени родительской политики наследуются.

  10. Нажмите Save policy, чтобы сохранить изменения.

Добавление соседней политики

  1. В меню слева нажмите Alerts & IRM, а затем Alerting.

  2. Нажмите Notification configuration, затем выберите вкладку Notification policies.

  3. Найдите дочернюю политику, для которой хотите создать соседнюю.

  4. Нажмите Add new policy -> New sibling above или New sibling below.

    Важно определить, какая политика получает оповещение первой, и задать правильный порядок соседних и дочерних политик.

    Политики вычисляются сверху вниз. Если найдена подходящая политика, система продолжает вычислять её дочерние политики в порядке их отображения. Подробнее см. в разделе маршрутизация политик уведомлений.

  5. Выполните инструкции начиная с шага 5 в разделе добавление дочерней политики.

Поиск политик

Grafana позволяет искать внутри дерева политик по следующему:

  • Сопоставителям меток
  • Точкам контакта

Чтобы искать по точке контакта, просто выберите точку контакта в выпадающем списке Search by contact point. Политики, использующие эту точку контакта, подсвечиваются в интерфейсе.

Чтобы искать по сопоставителям меток, просто введите корректный сопоставитель в поле ввода Search by matchers. Несколько сопоставителей можно объединять через запятую (,).

Важно отметить, что все сопоставленные политики — это точные совпадения. Grafana поддерживает регулярные выражения при создании сопоставителей меток. Она не поддерживает регулярные выражения или частичное сопоставление в поиске политик.

Mute timings

Mute timings не наследуются от родительской политики уведомлений, и их нужно настраивать на каждом уровне. Инструкции см. в разделе Настройка mute timings.

Управление несколькими политиками уведомлений

По умолчанию Grafana использует единое дерево политик уведомлений для всей маршрутизации оповещений. По мере роста и усложнения организаций управление единым глобальным деревом может стать затруднительным. Множественные политики уведомлений позволяют разделить логику маршрутизации на отдельные независимо управляемые деревья маршрутизации.

Каждая политика уведомлений содержит дерево маршрутизации с собственным именем, корневой политикой и дочерними политиками, которые работают аналогично политике по умолчанию. Вы можете создавать дополнительные деревья маршрутизации, чтобы организовать логику маршрутизации по команде, сервису или домену.

Политику по умолчанию (Default Policy) нельзя удалить. Однако вы можете сбросить политику, чтобы очистить её.

Пример

Пример конфигурации оповещений.

  • Создайте “default” точку контакта для уведомлений в slack и задайте её в политике по умолчанию.
  • Отредактируйте группировку политики по умолчанию, чтобы группировать оповещения по cluster, namespace и severity, так чтобы вы получали уведомление на каждое правило оповещения и конкретный кластер и пространство имён Kubernetes.
  • Создайте конкретный маршрут для оповещений, поступающих из кластера разработки, с подходящей точкой контакта.
  • Создайте конкретный маршрут для оповещений с серьёзностью “critical” с более настоятельной интеграцией точки контакта, например уведомлением pager duty.
  • Создайте конкретные маршруты для отдельных команд, которые управляют своими дежурствами по вызову.