Метки и аннотации

Метки и аннотации добавляют дополнительную информацию об оповещении с помощью пар ключ/значение:

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

Метки

Метки (Labels) — это уникальные идентификаторы экземпляра оповещения. Их можно использовать для поиска, отключения и маршрутизации уведомлений.

Примеры меток: server=server1 или team=backend. Каждое правило оповещения может иметь более одной метки, а полный набор меток правила оповещения называется его набором меток. Именно этот набор меток идентифицирует оповещение.

Например, экземпляр оповещения может иметь набор меток {alertname="High CPU usage",server="server1"}, тогда как другой экземпляр — набор меток {alertname="High CPU usage",server="server2"}. Это два разных экземпляра оповещений, поскольку, хотя их метки alertname совпадают, метки server различаются.

Image shows an example of an alert instance and the labels used on the alert instance.

Метки — фундаментальный компонент оповещений:

  • Именно полный набор меток оповещения уникально идентифицирует экземпляр оповещения.
  • Интерфейс оповещений показывает метки для каждого экземпляра оповещения, созданного при вычислении этого правила.
  • Политики уведомлений и silences используют метки, чтобы сопоставлять экземпляры оповещений и маршрутизировать их в точки контакта либо прекращать их уведомления.
  • Точки контакта могут включать информацию из меток в уведомительные сообщения.

Типы меток

Набор меток оповещения может содержать три типа меток:

Пользовательские метки

Метки, которые вы настраиваете вручную в правиле оповещения, чтобы идентифицировать создаваемые экземпляры оповещений и управлять оповещениями. Обычные пользовательские метки в зависимости от сценария: severity, priority, team и service.

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

Метки запроса

Метки запроса — это метки, возвращаемые запросом к источнику данных.

An alert rule query returning labels from the query.
An alert rule query returning labels from the query.

Метки запроса могут порождать несколько экземпляров оповещений из одного правила оповещения, помогая отличать оповещения по разным данным. В этом примере метка instance создаёт экземпляр оповещения для каждого сервера.

Зарезервированные метки

Зарезервированные метки добавляются Grafana автоматически:

  • alertname: имя правила оповещения.
  • grafana_folder: название папки, содержащей оповещение.

Метки с префиксом grafana_ зарезервированы Grafana для особого использования. Зарезервированные метки можно отключить с помощью опции unified_alerting.reserved_labels.

Note

Два правила оповещений не могут создавать экземпляры оповещений с одинаковыми метками. Если два правила оповещений имеют одинаковые метки, например foo=bar,bar=baz и foo=bar,bar=baz, то один из созданных экземпляров оповещений отбрасывается.

Убедитесь, что набор меток оповещения не содержит двух или более меток с одинаковым именем.

  • Если настроенная метка имеет то же имя, что и метка запроса к источнику данных, она заменяет метку источника данных.
  • Если настроенная метка имеет то же имя, что и зарезервированная метка, она опускается.

Аннотации

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

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

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

  • summary: краткая сводка о том, что обнаружило оповещение и почему.
  • description: подробное описание того, что произошло и что делает оповещение.
  • runbook_url: страница runbook для операторов, управляющих потенциальным инцидентом.
  • __dashboardUid__ и __panelId__: связывают оповещение с дашбордом и панелью, чтобы упростить расследование оповещения.

Например, вы можете отредактировать аннотацию summary, чтобы объяснить, почему сработало оповещение:

CPU usage has exceeded 80% for the last 5 minutes.

А также отредактировать аннотацию description, чтобы дать больше контекста и указать, как реагировать:

The web server's CPU has exceeded 80% for more than 5 minutes.

This indicates that the system is under heavy load and may result in an outage.

Consider scaling the server's resources and investigating bottlenecks.

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