Документация

Матчеры алертов

Версия v2.3.1 · Обновлено

Матчеры алертов#

IncidentRelay использует один формат матчеров для маршрутов, правил сервисов, runbook'ов, заглушек, пресетов матчеров, правил политики приоритетов и правил политики уведомлений.

Все условия в одном объекте матчера используют семантику AND. Пустой объект соответствует каждому алерту:

{}

Сопоставление меток алерта#

Плоские ключи в стиле Prometheus трактуются как метки алерта:

{
  "alertname": "DiskFull",
  "instance": "host1",
  "severity": "critical"
}

Структурированная форма эквивалентна:

{
  "labels": {
    "alertname": "DiskFull",
    "instance": "host1",
    "severity": "critical"
  }
}

Сопоставление полей алерта#

Используйте верхнеуровневые source, title или title_regex для распространённых полей алерта:

{
  "source": "alertmanager",
  "title_regex": "^Database"
}

Используйте fields для нормализованных контекстных полей и вложенных ресурсов:

{
  "fields": {
    "status": "firing",
    "priority": "p1",
    "service.slug": "payments-api",
    "team.slug": "platform"
  }
}

Операторы значений#

Значение матчера может быть точным значением, списком или объектом-оператором.

Сопоставить одно из нескольких значений:

{
  "severity": ["critical", "high"]
}

Сопоставить регулярное выражение:

{
  "instance": {
    "regex": "^db-[0-9]+$"
  }
}

Исключить значение:

{
  "environment": {
    "not": "development"
  }
}

Сопоставить подстроку:

{
  "fields": {
    "message": {
      "contains": "timeout"
    }
  }
}

Пресеты матчеров#

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

Используйте {}, когда правило должно полагаться только на выбранный пресет.

Редактор матчеров#

Общий редактор матчеров предоставляет одинаковое поведение валидации и форматирования JSON на каждой поддерживаемой странице.

  • Format валидирует объект JSON и форматирует его с отступами.
  • Suggestions загружает известные имена матчеров и наблюдаемые значения из недавних алертов.
  • Выбор подсказки вставляет её в текущий объект матчера, но не сохраняет форму.
  • Подсказки не заменяют валидацию и не гарантируют, что будущие алерты будут содержать те же значения.

Область подсказок и конфиденциальность#

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

По умолчанию IncidentRelay проверяет до 200 недавних алертов и возвращает до 20 значений для каждого имени матчера. API поддерживает максимальную выборку в 500 алертов и максимум 50 значений на имя матчера.

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