Метрики и выражения для правил алертинга
На этой странице:
- Языки выражений
- Доступные метрики сервисов
- Лейблы метрик
- Синтаксис фильтрации и примеры выражений
- Где посмотреть список метрик
- Аннотации со ссылками на дашборды
Эта страница — справочник для составления выражений в правилах алертинга. О том, как создавать правила в веб-интерфейсе (поля формы, предпросмотр, работа с правилами), см. Настройка оповещений. Обзор модуля алертинга — на странице Алертинг в 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— все запросы обслужены в пределах целевого времени).
Для трёх из этих метрик платформа дополнительно строит ML-базовую линию (прогноз) — метрики с суффиксом _prophet: services_calls_prophet, services_callduration_prophet, services_errorcallsperc_prophet. Значения прогноза различаются по лейблу value_type (например, yhat_upper — верхняя граница нормы). Эти метрики используются встроенными правилами выявления аномалий — см. Выявление аномалий.
Метрики для дашбордов
Перечисленные метрики предназначены для алертинга. Полный список метрик, доступных для визуализации на OLAP-дашбордах, можно посмотреть при создании дашборда в режиме «OLAP Мастер» — см. руководство Кастомные дашборды.Лейблы метрик
Для сервисов доступны следующие лейблы метрик:
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 покажет все метрики сервисов.
Скриншот: Браузер метрик — поиск по каталогу метрик (запрос services).
Браузер метрик также позволяет изучать лейблы метрик, количество временных рядов и строить запросы визуально. Подробнее — в руководстве Браузер метрик и построитель PromQL-запросов.
Аннотации со ссылками на дашборды
Аннотации и лейблы задаются в правиле алертинга (см. Настройка оповещений → Лейблы и аннотации):
- аннотации позволяют добавлять дополнительные метки к алертам; аннотации приходят в уведомления (Email, Telegram, Webhook и т. д.);
- лейблы позволяют группировать алерты и используются в политиках маршрутизации алертов.
Зарезервированные ключи (имена) аннотаций формируют кликабельные ссылки на дашборды Proto OBP:
dashboard,dashboardService— ссылка на дашборд сервиса. Используйте следующее значение:{{ $externalURL }}/dashboard/GENERAL/Service/{{ .Labels.service_id | reReplaceAll "__" "==" | reReplaceAll "_" "=" }}/Proto-General-ServicedashboardHost— ссылка на дашборд сервера. Используйте следующее значение:{{ $externalURL }}/dashboard/OS_LINUX/Service/{{ .Labels.service_id_host }}/Proto-Linux-ServicedashboardContainer— ссылка на дашборд контейнера. Используйте следующее значение:{{ $externalURL }}/dashboard/OS_LINUX/Endpoint/{{ .Labels.service_id_host }}/{{ .Labels.service_id_host }}_{{ .Labels.service_id_container }}/Proto-Linux-Docker
Примеры использования аннотаций — ссылок на дашборды:
Telegram-уведомления:

Веб-интерфейс Proto OBP:
