Правила порогов
В данном разделе документации предоставлена информация о работе с правилами обработки метрик и генерации новых объектов в системе Monq - Порогов.
Порог метрики (англ. threshold) - это предельное значение, которое устанавливается для определенной метрики с целью определения критического состояния метрики. Когда значение метрики превышает или достигает установленного порога, это может сигнализировать о проблеме, ошибк е, перегрузке или другом важном событии, требующем внимания или реагирования.
Генерация событий по порогам из метрик, с целью дальнейшего прохождения по пайплайну обработки событий дает возможность полноценной обработки метрик внутри Monq.
Пороги генерируются из собираемых метрик в специальном процессоре Monq - mcs-thresholds-service
, который запускает правила расчета с определенной периодичностью. Результатом работы процессора могут быть: открытие нового порога, закрытие существующего порога и подтверждение порога.
В случае открытия или закрытия порога на выходе генерируются специальные события, которые далее поступают в основной тракт обработки событий Monq.
События открытия поступают в маршрутный узел "Автоматона" привязки порогов к компонентам и слотам КЕ - ThresholdsProcessor
.
Порог аналогично Сигналу представляет собой короткоживущий объект, у которого есть время начала и время завершения.
Открывать завершённые пороги в Monq не допускается.
Установка подходящих порогов метрик является важным аспектом мониторинга и управления системами. Они должны быть настроены в соответствии с требованиями и характеристиками конкретной системы или приложения. Неправильно установленные пороги метрик могут приводить к ложным предупреждениям или недостаточному обнаружению проблем, поэтому требуется внимательное исследование и настройка для достижения оптимальных результатов.
Операции с правилами порогов
Экран управления порогами расположен в разделе меню "Автоматизация" - Правила порогов.
Для работы с правилами перейдите в соответствующий раздел.
Создание правила порога
Для создания нового правила расчета порогов нажмите кнопку + Создать правило в правом верхнем углу экрана управления правилами порогов.
Заполните форму создания правила:
- Название правила - должно быть уникальным в рамках Рабочей группы
- Владелец - Рабочая группа, которой принадлежит правило расчета порога
- Описание (опционально)
- Импорт - Код правила расчета порога в формате
base64
(подробнее в разделе Экспорт/импорт правил порогов)
После создания правила расчета порогов, его необходимо настроить:
1. Настройки правила
Частота расчета
Временной интервал, определяющий, с какой частотой будет производиться расчет правила.
2. Запрос метрик
Потоки данных
Необходимо выбрать как минимум один поток данных - источник метрик.
Окно вычисления
Временной период, в котором будет рассчитываться функция агрегации значений метрик. Окно позволяет исключить резкие изменения значения метрик, реагиру я только на изменения за больший промежуток времени
Функция агрегации
Last (Последнее)
- для расчета будет использовано последнее значение вектораAverage (Среднее)
- среднее значение вектораMax (Максимум)
- максимальное значение вектораMin (Минимум)
- минимальное значение вектораSum (Сумма)
- суммирует все значения вектора
Запрос
Запрос значений метрики на языке MetricsQL (PromQL), например:
aggregator_openapi_v2_regeneration_count{endpoint="https", instance="10.18.0.100:6443", job="apiserver"}
Чем более подробно указан набор меток, тем более точно будет производиться идентификация конкретного вектора. Например, если указать только название метрики: aggregator_openapi_v2_regeneration_count
, запрос будет валиден, но вместо одного вектора, придет набор из нескольких векторов.
Допускаетс я ввод многострочного запроса. Для этого реализован перенос на новую строку нажатием Shift+Enter.
Строка для запроса работает одновременно и в режиме Поиска по существующим в БД метрикам. Также выполнить обзор метрик можно по соответствующей кнопке в правой части строки запроса.
Для просмотра временных рядов, соответствующих настроенным условиям, запрос можно выполнить вручную, нажав кнопку Выполнить запрос.
При необходимости внесения изменений в строку Запроса активного правила - Правило сначала нужно остановить и выбрать "Закрыть пороги". Если это не сделать, пороги будут создаваться как новые, не заменяя предыдущие. А старые останутся открытыми.
Полученные в результате запроса на звания меток и значения метрик (медианное, минимальное, максимальное и последнее) можно удобно скопировать в буфер нажатием на них:
Дополнительные настройки
Раскрыть
-
Прогнозирование
Позволяет построить Линейный или Сезонный прогноз для правила порогов на основе исторических данных.
В обоих случаях необходимо указать, на какой период строить прогноз и какой временной интервал использовать в качестве основы.
Для Линейного прогноза в качестве основы задается длительность в часах или днях, а для Сезонного, соответственно, сезонность - часовая, дневная, недельная или месячная. Более подробное описание функции - в разделе Прогнозирование. -
Проверка уникальности
Это способ использования указанных меток для определения уникальности порога (правило формирования хэша). Доступны следующие критерии:-
По всем меткам метрики (по умолчанию для всех правил)
-
По меткам, кроме - перечисление меток в соответствующем поле
Эти метки также должны быть исключены из основного запроса правила
-
Только по меткам - перечисление меток в соответствующем поле
СправкаПри изменении настроек правила формирования хэша допускается ситуация, при которой на экране порогов для одного порога будет отображаться несколько графиков, т.к. одинаковый хэш будет у нескольких метрик одновременно.
-
-
Настройка автоматизации (дробление порогов)
Некоторые правила могут одновременно создавать и закрывать большое количество порогов. Для более эффективной работы сценариев автоматизации рекомендуется дробить большое сообщение с результатом расчета на несколько более мелких. Для этого пользователю доступны опции:- не ограничено - дробление порогов осуществляться не будет
- не более - дробление порогов будет производится по заданному значению
- по умолчанию - дробление порогов будет производится по заданной политике в настройках пространства
График временных рядов
При выполнении запроса, помимо меток и значений метрик, выводится полный график временных рядов. Если рядов много, на графике будут отображены только первые 10, возвращенных Victoria Metrics.
Если временных рядов по запросу больше одного, отображение графиков можно избирательно отключать нажатием по цветовому индикатору графика.
При работе с графиком доступен датапикер. При переключении между правилами порогов выбранный в датапикере диапазон сохраняется.
Датапикер влияет только на визуальное отображение метрик в пределах выбранного диапазона времени на графике и не влияет на настройки правила порога в целом.
3. Условия создания порога
Пользователь системы может задать условия для расчета уровня порога, чтобы разделить полученные значения метрик по степени критичности.
Для настройки условий доступно несколько уровней критичности:
Fatal
Critical
Major
Warning
Info
По умо лчанию, для вновь созданных правил расчета порогов устанавливается статус Ok
.
Кроме того, доступна опция автоматизированного определения пороговых значений: кнопка "Выставить автоматически" активируется после выполнения запроса, который вернет временные ряды. Уровни автоматически выставляются на основании данных за последние 7 дней.
При внесении изменений в условия создания порогов, уровни порогов на графике меняются в режиме реального времени.
4. Настройки порога
-
Автозакрытие
Время, через которое порог автоматически будет закрыт, если события подтверждения порога не приходят.
Отсчет выполняется с момента открытия/подтверждения порога.
-
Название порога
Допускается использование макросов (указываются в двойных фигурных скобках):
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.<название метки>
- позволяет указать название метки метрики
СправкаПри отсутствии значения - макрос игнорируется
-
Аннотации
Дополнительные поля порога, которые будут присвоены ему при создании