Как настроить алертинг по метрикам
vmalert, Alertmanager, группы правил, каналы уведомлений.
Обзор
Алертинг в платформе «Штурвал» реализован на основе Victoria Metrics AlertManager и AlertManagerConfig. Используются компоненты:
- vmalert (VM Alert) — оценка правил алертинга на основе метрик;
- Alertmanager — маршрутизация и доставка уведомлений.
По умолчанию оповещения отображаются в интерфейсе платформы. Для отправки в Email, Telegram, Webhook и др. настраиваются получатели и маршруты.
Условия работы алертинга
Клиентский кластер
Алертинг доступен из интерфейса, если включены:
- в кластере управления:
shturval-monitoringиshturval-metrics-collector; - в клиентском кластере:
shturval-metrics-collector.
Кластер управления
Алертинг настраивается, если включены:
shturval-monitoringв кластере управления;shturval-metrics-collectorв кластере управления.
Просмотр оповещений
Страница Оповещения → Просмотр оповещений (или блок «Алертинг» на дашборде кластера).
Интерфейс оповещений

Оповещения разбиты по вкладкам:
| Статус | Описание |
|---|---|
| Firing | Алерт срабатывает — актуальное нарушение условия или событие. |
| Pending | Алерт не срабатывает, но возможен в будущем (временные изменения). |
| Inactive | Алерт не срабатывает длительное время или отключён администратором. |
На каждой вкладке алерты сгруппированы по группам правил. В группе: выражение, описание условий, счётчик событий, список алертов.
Состав алерта: идентификатор, название, дата и время срабатывания, описание, выражение, критичность.
Предустановленные правила
В кластерах по умолчанию установлены правила оповещений (VMRule с префиксом system). Перечень доступен:
- на странице Правила оповещения кластера;
- в Администрирование → Кастомные ресурсы → API-группа
operator.victoriametrics.com→ VMRule в неймспейсе с именем кластера.
Предустановленные правила охватывают: Alertmanager, Velero, Victoria Metrics, Kubernetes (узлы, поды, PVC, сервисы), Prometheus и др.
Группы правил оповещения
Для кастомных правил создаётся группа правил.
- Правила оповещения → Добавить группу правил оповещения.
- Заполните:
- Имя группы (обязательно);
- Тип выражений — Prometheus или Graphite (по умолчанию Prometheus);
- Тип правил — оповещения (alert) или запись (record);
- Интервал оценки — как часто оцениваются правила;
- Параллелизм — сколько правил выполняются одновременно в группе.
Группы правил оповещения

После создания имя группы, тип выражений и тип правил неизменяемы. Удаление группы приводит к каскадному удалению правил.
Правила в группе
В группе создаются правила: + в списке правил.
Правила оповещения (alert)
| Поле | Описание |
|---|---|
| Название | Обязательное, неизменяемое после создания. |
| Время ожидания | Временной лаг перед отправкой — система ждёт, сохранится ли состояние. |
| Критичность | Записывается в лейбл severity. Уровни: Emergency, Alert, Critical, Error, Warning, Notice, Info, Debug. |
| Ссылка на решение | Аннотация runbook_url. |
| Короткое описание | Аннотация summary. |
| Описание | Аннотация description. |
| Выражение | Обязательное. PromQL-выражение. |
| Лейблы, аннотации | Дополнительные метаданные. |
Аннотации с ключами description, summary, runbook_url перезаписываются значениями из полей правила.
Пример правила — срабатывание при создании нового Pod:
sum by(namespace, pod) (increase(kube_pod_created[5m])) > 0
С описаниями: summary: "New pod created in {{ $labels.namespace }}", description: "Pod {{ $labels.pod }} was created in namespace {{ $labels.namespace }}".
Правила записи (record)
Предварительно вычисляют выражения и сохраняют результат как временные ряды. Полезно для дашбордов.
Поля: Название (обязательное), Выражение (обязательное), Лейблы.
Получатели (receivers)
По умолчанию оповещения маршрутизируются в Victoria Metrics (отображаются в интерфейсе). Получатель devnull (тип default) создаётся по умолчанию и блокирует отправку; его нельзя удалить или изменить.
Для дополнительной доставки создаются получатели в разделе Оповещения → Получатели:
Получатели оповещений

| Тип | Назначение |
|---|---|
| webhook | Отправка в сервисы агрегации, service-desk, task-manager. Обязательно: URL-адрес. |
| SMTP. Обязательно: SMTP сервер, e-mail получателя. Gmail требует авторизацию. | |
| telegram | Telegram-бот. Токен бота (от @BotFather), идентификатор чата. |
Webhook: URL-адрес, опционально — авторизация (Username/Password или Bearer-токен), TLS, «Отправлять решённые», макс. количество алертов в сообщении.
Email: SMTP сервер, e-mail получателя, опционально — авторизация (PLAIN, LOGIN, CRAM-MD5), шаблон HTML, «Отправлять решённые». Порты 25, 587, 465 должны быть доступны на стороне SMTP.
Telegram: токен бота, идентификатор чата (узнать: https://t.me/userinfobot), формат сообщения (Markdown, HTML), шаблон, «Отправлять решённые», «Отключить уведомления».
Маршруты (routes)
Маршруты задают, куда и при каких условиях отправлять оповещения. Сначала настраивается корневой маршрут, затем подмаршруты.
Параметры маршрута:
| Параметр | Описание |
|---|---|
| Получатель | Выбор из списка получателей. |
| Время ожидания до первичной отправки | Лаг для отбрасывания ложных срабатываний. |
| Время ожидания до обновлённых оповещений | Лаг до отправки изменений по ранее отправленному оповещению. |
| Время ожидания до повторной отправки | Лаг до повторной отправки. |
| Совпадающие лейблы | Лейблы для маршрутизации (например, severity, alertname). |
| Ключи для группировки | По каким лейблам группировать оповещения. |
| Интервалы блокировки | Когда приостанавливать отправку (выходные, ночь и т.п.). |
Подмаршруты задают более детальную маршрутизацию. Можно указать, продолжать ли обработку в других подмаршрутах.
Временные интервалы (time_intervals)
Интервалы, когда оповещения не отправляются (заглушение).
Настраиваются: месяцы, дни месяца, дни недели, часовые диапазоны. Интервалы указываются в маршрутах.
Если в конфигурации не задано ни одного значения — равнозначно «все значения». Например, выбраны только дни недели без месяцев — эти дни применяются в каждом месяце.
Блокировка оповещений (inhibit)
Критерии, при которых оповещения блокируются (не отправляются).
| Параметр | Описание |
|---|---|
| Ключи лейблов (equal) | Ключи оповещений: alertname, severity, namespace и др. |
| target_matchers | Целевые лейблы — при совпадении оповещения отправляются. |
| source_matchers | Оповещения с этими лейблами не отправляются, пока есть нерешённые оповещения с target_matchers. |
Пример: блокировать Warning, если есть Critical с тем же alertname и namespace.
Порядок настройки
- Убедитесь, что работают
shturval-monitoringиshturval-metrics-collector. - При необходимости создайте группу правил и добавьте правила (alert или record).
- Создайте получателей (Email, Telegram, Webhook).
- Настройте маршруты — укажите получателя, лейблы, интервалы блокировки.
- При необходимости задайте временные интервалы и блокировку оповещений.
Дополнительно
- Правила можно добавлять через ShturvalServicePatch или конфигурацию сервиса shturval-metrics-collector.
- Victoria Metrics Operator поддерживает импорт AlertmanagerConfig от Prometheus Operator.
- Подробнее об архитектуре — Архитектура сервисов мониторинга.