Матчеры алертов#
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 значений на имя матчера.
Подсказки включают сохранённые метки алертов и нормализованные значения, такие как серьёзность, статус, источник и приоритет инцидента. Команды без соответствующей истории алертов получают пустой список подсказок.