Диагностика и формат уведомлений
На этой странице:
Жизненный цикл алерта
Условие правила вычисляется постоянно. Алерт проходит через состояния:
| Состояние | Что значит | Уведомление |
|---|---|---|
| pending | Условие выражения выполняется, но ещё не прошло время из поля for. | Не отправляется |
| firing | Условие держится дольше for — алерт считается сработавшим. | Отправляется по политикам |
| resolved | Условие перестало выполняться. | Отправляется, если у канала включено «Отправлять завершённые?» (send_resolved) |
Поле keep_firing_for удерживает алерт в состоянии firing ещё заданное время после того, как условие перестало выполняться, — это откладывает разрешение и гасит «дребезг».
Когда изменения вступают в силу
После нажатия «Применить» изменения правил применяются в течение ~1 минуты, изменения политик — почти сразу. Без нажатия «Применить» новые настройки не активируются.Почему уведомление не пришло
Проверьте по порядку:
- Нажата ли «Применить». Правила вступают в силу за ~1 минуту, политики — почти сразу.
- Правило включено (статус
включено, а неотключено). - Алерт уже в
firing, а неpending. Условие должно продержаться время из поляfor. Текущее состояние видно вАлерты>Активные. - Есть политика с подходящими матчерами. Алерт маршрутизируется только если его лейблы совпадают с матчерами какой-либо политики (например,
severity = WARNING). Без совпавшей политики уведомление не отправляется. - Канал привязан к политике, и его реквизиты верны (токен бота и Telegram ID, SMTP-сервер, URL вебхука).
- Для уведомлений о разрешении проверьте «Отправлять завершённые?» (
send_resolved) у канала — для email он по умолчанию выключен. - Нет активной тишины (silence), заглушающей этот алерт (см. Просмотр алертов → Активные).
Подробнее о создании каналов, правил и политик — Настройка оповещений.
Что приходит в уведомление
Текст уведомления формируется из лейблов и аннотаций алерта. Зарезервированные аннотации (summary, dashboard, dashboardHost, dashboardContainer) задают заголовок и ссылки на дашборды — см. Метрики и выражения → Аннотации со ссылками на дашборды. Отправку уведомлений о разрешении (resolved) включает поле «Отправлять завершённые?» у канала.
Telegram
Сообщение в формате HTML:
- заголовок:
🔥+ описание (summary) и эмодзи критичности (🟡дляWARNING,🔴дляCRITICAL); для разрешённого алерта —✅ Устранено: …; - Сервис / Хост / Контейнер — ссылками на соответствующие дашборды, если заданы аннотации
dashboard*; - блоки Лейблы и Аннотации;
- Начало, а для разрешённого алерта — Конец и Длительность.
По умолчанию для Telegram-каналов уведомления о разрешении включены.
- Тема: эмодзи статуса + имя алерта + число сработавших + критичность (и при наличии — сервис/хост/контейнер);
- Тело (HTML): цветной баннер «Активно алертов: N» (или «Устранено алертов: N»), кнопки перехода к дашбордам и к разделам
Активные/История, затем посекционно каждый алерт с лейблами, аннотациями, временем начала/конца и длительностью.
По умолчанию для email-каналов уведомления о разрешении выключены (включаются полем «Отправлять завершённые?»).
Webhook
На указанный URL отправляется HTTP POST со стандартным payload Alertmanager (версия 4). Используйте его для интеграции со сторонними системами (ITSM, чат-боты, автоматизация). Структура:
{
"version": "4",
"groupKey": "{}:{alertname=\"Высокая доля ошибок сервиса\"}",
"truncatedAlerts": 0,
"status": "firing",
"receiver": "Webhook интеграции",
"groupLabels": { "alertname": "Высокая доля ошибок сервиса" },
"commonLabels": {
"alertname": "Высокая доля ошибок сервиса",
"severity": "WARNING",
"service": "credit-bureau-service"
},
"commonAnnotations": { "summary": "Доля ошибок сервиса выше 5% в течение 5 минут" },
"externalURL": "https://<адрес-вашей-платформы>",
"alerts": [
{
"status": "firing",
"labels": {
"alertname": "Высокая доля ошибок сервиса",
"severity": "WARNING",
"service": "credit-bureau-service",
"service_id": "..."
},
"annotations": { "summary": "Доля ошибок сервиса выше 5% в течение 5 минут" },
"startsAt": "2026-06-10T12:00:00.000Z",
"endsAt": "0001-01-01T00:00:00Z",
"generatorURL": "http://.../vmalert/...",
"fingerprint": "a1b2c3d4e5f6a7b8"
}
]
}
Поля каждого элемента alerts[]: status (firing/resolved), labels, annotations, startsAt, endsAt (для firing — нулевая дата), generatorURL, fingerprint. Для разрешённого алерта status становится resolved, а endsAt заполняется (при включённом «Отправлять завершённые?»).