Метрики и выражения для правил алертинга

Обновлено 08.09.2026
Справочник по написанию выражений для правил алертинга: доступные метрики сервисов и их лейблы, синтаксис фильтрации, примеры выражений на PromQL/MetricsQL и зарезервированные аннотации со ссылками на дашборды.

На этой странице:

Эта страница — справочник для составления выражений в правилах алертинга. О том, как создавать правила в веб-интерфейсе (поля формы, предпросмотр, работа с правилами), см. Настройка оповещений. Обзор модуля алертинга — на странице Алертинг в Proto Observability Platform.

Языки выражений

Proto Observability Platform поддерживает выражения в правилах алертинга, написанные на языках PromQL и MetricsQL.

Правило срабатывает, когда выражение возвращает результат. Например, выражение ... > 100 вернёт серии только для тех сущностей, у которых значение превышает порог 100, — именно по ним и сработает алерт.

Доступные метрики сервисов

Ниже перечислены ключевые метрики сервисов, доступные для правил алертинга. Список не исчерпывающий: в правилах можно использовать любую метрику из хранилища метрик (инфраструктурные, Kubernetes, метрики БД и др.) — полный каталог доступен в Браузере метрик. Кроме того, набор метрик, для которых строится базовая линия, можно расширить через конфигурацию (см. Выявление аномалий → Как добавить метрики).

Ключевые метрики сервисов:

МетрикаОписание
services_callsКоличество вызовов сервиса за интервал
services_calldurationСреднее время отклика сервиса, в миллисекундах
services_errorcallspercДоля вызовов с ошибками, в процентах (от 0 до 100)
services_apdexЗначение APDEX сервиса, от 0 до 1 (1 — все запросы обслужены в пределах целевого времени)
services_calls_prophetПрогноз количества вызовов сервиса, построенный по базовой линии
services_callduration_prophetПрогноз времени отклика сервиса, построенный по базовой линии
services_errorcallsperc_prophetПрогноз доли вызовов с ошибками, построенный по базовой линии

Для части метрик платформа дополнительно строит ML-базовую линию — это метрики с суффиксом _prophet. Значения прогноза различаются по лейблу value_type: yhat — сам прогноз, yhat_lower и yhat_upper — нижняя и верхняя границы нормы. Эти метрики используются встроенными правилами выявления аномалий — см. Выявление аномалий.

Метрики ключевых бизнес-транзакций

Для операций, отмеченных как ключевые бизнес-транзакции, в хранилище метрик выгружается отдельный набор. Значения считаются по OLAP-слою в разрезе сервиса и операции, лейблы: service, service_id, endpoint (имя операции) и opName (то же имя в Base64 — в таком виде его ждут ссылки на дашборды).

МетрикаОписание
calls_keybusinesstransactioncountЧисло вызовов ключевой бизнес-транзакции за интервал
calls_keybusinesstransactiondurationСреднее время выполнения ключевой бизнес-транзакции, в миллисекундах
calls_keybusinesstransactionerrorpercДоля вызовов ключевой бизнес-транзакции с ошибками, в процентах (от 0 до 100)
calls_keybusinesstransactioncount_prophetПрогноз числа вызовов ключевой бизнес-транзакции, построенный по базовой линии
calls_keybusinesstransactionduration_prophetПрогноз времени выполнения ключевой бизнес-транзакции, построенный по базовой линии
calls_keybusinesstransactionerrorperc_prophetПрогноз доли вызовов с ошибками, построенный по базовой линии

Кроме метрик сервисов в хранилище метрик выгружаются метрики бизнес-процессов — pobp_bp_step_* (потоки, дошедшие до шага, потери на шаге, время перехода) и pobp_bp_process_* (запуски, ошибки, длительность процесса) с лейблами businessProcessName и stepName (пробелы и тире в значениях заменены на подчёркивание). Это мгновенные значения за скользящее окно, а не счётчики: rate() и increase() по ним не применяются. Полный список метрик, встроенные правила и примеры выражений — в разделе Алерты и SLO по бизнес-процессу.

Лейблы метрик

Для сервисов доступны следующие лейблы метрик:

  • service: имя сервиса, аналогичное отображаемому имени сервиса в разделе Приложения > Сервисы;
  • service_id: внутренний идентификатор сервиса для генерации ссылки на дашборд (см. Аннотации со ссылками на дашборды);
  • host, service_id_host: хост и его идентификатор, на котором наблюдается сервис (используются в ссылках на дашборды сервера и контейнера).

Синтаксис фильтрации и примеры выражений

Для применения в правилах фильтра по конкретному сервису используйте синтаксис метрика{лейбл="значение"}.

Например, выражение services_callduration{service="credit-bureau-service"} вернёт среднее время отклика сервиса credit-bureau-service в миллисекундах.

Пример выражения для правила (время отклика сервиса больше 100 мс):

avg(services_callduration{service="credit-bureau-service"}) by (service, service_id) > 100

Разбор выражения:

  • services_callduration — метрика: время отклика сервиса (в миллисекундах);
  • {service="credit-bureau-service"} — фильтр по имени сервиса;
  • avg(...) by (service, service_id) > 100 — агрегация по лейблам service и service_id (лейбл service_id нужен, чтобы в аннотациях получить ссылку на дашборд сервиса).

Где посмотреть список метрик

Полный список доступных метрик с поиском доступен в Браузере метрик (Metric Explorer): откройте раздел Метрики > Браузер в главном меню. Введите часть имени метрики в поле поиска — например, services покажет все метрики сервисов.

Браузер метрик (Metric Explorer) Скриншот: Браузер метрик — поиск по каталогу метрик (запрос services).

Браузер метрик также позволяет изучать лейблы метрик, количество временных рядов и строить запросы визуально. Подробнее — в руководстве Браузер метрик и построитель PromQL-запросов.

Аннотации со ссылками на дашборды

Аннотации и лейблы задаются в правиле алертинга (см. Настройка оповещений → Лейблы и аннотации):

  • аннотации позволяют добавлять дополнительные метки к алертам; аннотации приходят в уведомления (Email, Telegram, Webhook и т. д.);
  • лейблы позволяют группировать алерты и используются в политиках маршрутизации алертов.

Зарезервированные ключи (имена) аннотаций формируют кликабельные ссылки на дашборды Proto OBP:

  • dashboard, dashboardService — ссылка на дашборд сервиса. Используйте следующее значение:

    {{ $externalURL }}/dashboard/GENERAL/Service/{{ .Labels.service_id | reReplaceAll "__" "==" | reReplaceAll "_" "=" }}/Proto-General-Service
    
  • dashboardHost — ссылка на дашборд сервера. Используйте следующее значение:

    {{ $externalURL }}/dashboard/OS_LINUX/Service/{{ .Labels.service_id_host }}/Proto-Linux-Service
    
  • dashboardContainer — ссылка на дашборд контейнера. Используйте следующее значение:

    {{ $externalURL }}/dashboard/OS_LINUX/Endpoint/{{ .Labels.service_id_host }}/{{ .Labels.service_id_host }}_{{ .Labels.service_id_container }}/Proto-Linux-Docker
    

Примеры использования аннотаций — ссылок на дашборды:

  • Telegram-уведомления:

    Ссылка на дашборд в Telegram-уведомлении
  • Веб-интерфейс Proto OBP:

    Ссылка на дашборд в веб-интерфейсе