Правила порогов
В данном разделе документации предоставлена информация о работе с правилами обработки метрик и генерации новых объектов в системе Monq - Порогов.
Порог метрики (англ. threshold) - это предельное значение, которое устанавливается для определенной метрики с целью определения критического состояния метрики. Когда значение метрики превышает или достигает установленного порога, это может сигнализировать о проблеме, ошибк е, перегрузке или другом важном событии, требующем внимания или реагирования.
Генерация событий по порогам из метрик, с целью дальнейшего прохождения по пайплайну обработки событий дает возможность полноценной обработки метрик внутри Monq.
Пороги генерируются из собираемых метрик в специальном процессоре Monq - mcs-thresholds-service
, который запускает правила расчета с определенной периодичностью. Результатом работы процессора могут быть: открытие нового порога, закрытие существующего порога и подтверждение порога.
В случае открытия или закрытия порога на выходе генерируются специальные события, которые далее поступают в основной тракт обработки событий Monq.
События открытия поступают в маршрутный узел "Автоматона" привязки порогов к компонентам и слотам КЕ - ThresholdsProcessor
.
Порог аналогично Сигналу представляет собой короткоживущий объект, у которого есть время начала и время завершения.
Открывать завершённые пороги в Monq не допускается.
Установка подходящих порогов метрик является важным аспектом мониторинга и управления системами. Они должны быть настроены в соответствии с требованиями и характеристиками конкретной системы или приложения. Неправильно установленные пороги метрик могут приводить к ложным предупреждениям или недостаточному обнаружению проблем, поэтому требуется внимательное исследование и настройка для достижения оптимальных результатов.
Управление правилами порогов
Экран управления порогами расположен в разделе меню "Сбор данных (ETL)" - Правила порогов.
Для работы с правилами перейдите в соответствующий раздел.
Создание правила порога
Для создания нового правила расчета порогов нажмите кнопку + Создать правило в правом верхнем углу экрана управления правилами порогов.
Заполните форму создания правила:
- Название правила
Название правила должно быть уникальным в рамках Рабочей группы
- Владелец
Рабочая группа, которой принадлежит правило расчета порога
- Описание (опционально)
- Импорт
Код правила расчета порога в формате
base64
(подробнее в разделе Экспорт/импорт правил порогов)
После создания правила расчета порогов, его необходимо настроить:
-
Настройки правила
- Частота расчета
Временной интервал, определяющий, с какой частотой будет производиться расчет правила.
По умолчанию:
10 мин
- Частота расчета
-
Запрос метрик
-
Потоки данных
Необходимо выбрать как минимум один поток данных - источник метрик
-
Запрос
Запрос значений метрики на языке MetricsQL (PromQL)
Например:
aggregator_openapi_v2_regeneration_count{endpoint="https", instance="10.18.0.100:6443", job="apiserver"}
Чем более подробно указан набор лейблов, тем более точно будет производиться идентификация конкретного вектора.
Если указать просто название метрики:
aggregator_openapi_v2_regeneration_count
, то запрос так же будет валиден, но вместо одного вектора, придет набор из нескольких векторовПри необходимости внести изменения в Запрос - Правило необходимо предварительно остановить, чтобы закрылись созданные Пороги. В противном случае открытые Пороги останутся висеть, а новые не смогут их перезаписать.
-
Окно вычисления
Временной период, в котором будет рассчитываться функция агрегации значений метрик. Окно позволяет исключить резкие изменения значения метрик, реагируя только на изменения за больший промежуток времени
-
Функция агрегации
Last (Последнее)
- для расчета берет последнее значение вектораAverage (Среднее)
- берет среднее значение вектораMax (Максимум)
- берет максимальное значение вектораMin (Минимум)
- берет минимальное значение вектораSum (Сумма)
- суммирует все значения вектора
СправкаВсе функции агрегации применяются к временным рядам в рамках заданного окна расчета
Введенный запрос можно проверить соответствующей кнопкой "Проверить запрос". Будут загружены все попадающие под запрос временные ряды.
-
-
Условия создания порога
Пользователь системы может задать условия для расчета уровня порога, чтобы разделить полученные значения метрик по степени критичности.
Для настройки условий доступно несколько уровней критичности:
Fatal
Critical
Major
Warning
Info
По-умолчанию, для вновь созданных правил расчета порогов устанавливается статус
Ok
.В качестве дополнительной функции, условия создания порогов, пользователи могут задавать уникальность метрики (правило формирования хэша), по следующим критериям:
- По всем меткам метрики (по умолчанию для всех правил)
- По всем меткам, кроме - перечисление меток в соответствующем поле
Данные метки, также должны быть исключены из основного запроса правила
- Только по меткам - перечисление меток в соответствующем поле
ВажноПри изменении настроек правила формирования хэша допускается ситуация, при которой на экране порогов для одного порога будет отображаться несколько графиков, т.к. общий хэш будет уже не у уникальной метрики, а у нескольких метрик одновременно.
Настройка дробления порогов осуществляется под спойлером "Дополнительные настройки"
При настройке пользователю доступны опции:
- не ограничено - дробление порогов осуществляться не будет
- не более - дробление порогов будет производится по заданному значению
- по умолчанию - дробление порогов будет производится по заданной политике в настройках пространства
-
Настройки порога
-
Автозакрытие
Время, через которое порог автоматически будет закрыт, если события подтверждения порога не приходят.
Отсчет выполняется с момента открытия/подтверждения порога.
-
Название порога
Допускается использование макросов (указываются в двойных фигурных скобках):
Rule.Id
- ID правилаRule.Name
- название правилаRule.Description
- описание правилаRule.CreatedAt
- дата создания правила порогаRule.FilterQuery
- данные из поля 'Запрос'Rule.CheckIntervalSeconds
- интервал запроса метрик в секундахRule.EvaluationWindowSeconds
- значение поля 'Окно вычисления' в секундахRule.AutoCloseTimeSeconds
- значение поля 'Автозакрытие'Rule.AggregationFunction
- указанная для правила функция агрегацииRule.StreamIds
- выбранные потоки для правилаRule.Conditions
- список настроенных условийRule.OwnerWorkGroupId
- ID РГ-владельца правила порогаRule.OwnerWorkGroupName
- название РГ-владельца порогаCondition.Function
- указанная для сработавшего правила функция сравненияCondition.Value
- с каким значением производилось сравнениеCondition.Level
- сработавший уровень условияCondition.LevelNumber
- цифровое значение уровняMetric.Value
- значение метрики при расчете порогаMetric.Labels
- метки метрикиMetric.Hash
- уникальный хэш метрикиMetric.Name
- название метрикиMetric.Labels.<название метки>
- позволяет указать название метки метрики
СправкаПри отсутствии значения - макрос игнорируется
-
Аннотации
Дополнительные поля порога, которые будут присвоены ему при создании
-