Перейти к основному содержимому
Версия: 8.1

Правила порогов

В данном разделе документации предоставлена информация о работе с правилами обработки метрик и генерации новых объектов в системе Monq - Порогов.

Порог метрики (англ. threshold) - это предельное значение, которое устанавливается для определенной метрики с целью определения критического состояния метрики. Когда значение метрики превышает или достигает установленного порога, это может сигнализировать о проблеме, ошибке, перегрузке или другом важном событии, требующем внимания или реагирования.

Генерация событий по порогам из метрик, с целью дальнейшего прохождения по пайплайну обработки событий дает возможность полноценной обработки метрик внутри Monq.

Пороги генерируются из собираемых метрик в специальном процессоре Monq - mcs-thresholds-service, который запускает правила расчета с определенной периодичностью. Результатом работы процессора могут быть: открытие нового порога, закрытие существующего порога и подтверждение порога.

В случае открытия или закрытия порога на выходе генерируются специальные события, которые далее поступают в основной тракт обработки событий Monq.

События открытия поступают в маршрутный узел "Автоматона" привязки порогов к компонентам и слотам КЕ - ThresholdsProcessor.

Порог аналогично Сигналу представляет собой короткоживущий объект, у которого есть время начала и время завершения.

Важно

Открывать завершённые пороги в Monq не допускается.

Установка подходящих порогов метрик является важным аспектом мониторинга и управления системами. Они должны быть настроены в соответствии с требованиями и характеристиками конкретной системы или приложения. Неправильно установленные пороги метрик могут приводить к ложным предупреждениям или недостаточному обнаружению проблем, поэтому требуется внимательное исследование и настройка для достижения оптимальных результатов.

Управление правилами порогов

Экран управления порогами расположен в разделе меню "Сбор данных (ETL)" - Правила порогов.

Для работы с правилами перейдите в соответствующий раздел.

Изображение

Создание правила порога

Для создания нового правила расчета порогов нажмите кнопку + Создать правило в правом верхнем углу экрана управления правилами порогов.

Заполните форму создания правила:

Изображение

  • Название правила

    Название правила должно быть уникальным в рамках Рабочей группы

  • Владелец

    Рабочая группа, которой принадлежит правило расчета порога

  • Описание (опционально)
  • Импорт

    Код правила расчета порога в формате base64 (подробнее в разделе Экспорт/импорт правил порогов)

После создания правила расчета порогов, его необходимо настроить:

Изображение

  1. Настройки правила

    • Частота расчета

      Временной интервал, определяющий, с какой частотой будет производиться расчет правила.

      По умолчанию: 10 мин

  2. Запрос метрик

    • Потоки данных

      Необходимо выбрать как минимум один поток данных - источник метрик

    • Запрос

      Запрос значений метрики на языке MetricsQL (PromQL)

      Например:

      aggregator_openapi_v2_regeneration_count{endpoint="https", instance="10.18.0.100:6443", job="apiserver"}

      Чем более подробно указан набор лейблов, тем более точно будет производиться идентификация конкретного вектора.

      Если указать просто название метрики: aggregator_openapi_v2_regeneration_count, то запрос так же будет валиден, но вместо одного вектора, придет набор из нескольких векторов

      :::tip Справка При необходимости внести изменения в Запрос - Правило необходимо предварительно остановить, чтобы закрылись созданные Пороги. В противном случае открытые Пороги останутся висеть, а новые не смогут их перезаписать.

    • Окно вычисления

      Временной период, в котором будет рассчитываться функция агрегации значений метрик. Окно позволяет исключить резкие изменения значения метрик, реагируя только на изменения за больший промежуток времени

    • Функция агрегации

      • Last (Последнее) - для расчета берет последнее значение вектора
      • Average (Среднее) - берет среднее значение вектора
      • Max (Максимум) - берет максимальное значение вектора
      • Min (Минимум) - берет минимальное значение вектора
      • Sum (Сумма) - суммирует все значения вектора
      Справка

      Все функции агрегации применяются к временным рядам в рамках заданного окна расчета

    Введенный запрос можно проверить соответствующей кнопкой "Проверить запрос". Будут загружены все попадающие под запрос временные ряды.

    Изображение

  3. Условия создания порога

    Изображение

    Пользователь системы может задать условия для расчета уровня порога, чтобы разделить полученные значения метрик по степени критичности.

    Для настройки условий доступно несколько уровней критичности:

    • Fatal
    • Critical
    • Major
    • Warning
    • Info

    По-умолчанию, для вновь созданных правил расчета порогов устанавливается статус Ok.

    В качестве дополнительной функции, условия создания порогов, пользователи могут задавать уникальность метрики (правило формирования хэша), по следующим критериям:

    • По всем меткам метрики (по умолчанию для всех правил)
    • По всем меткам, кроме - перечисление меток в соответствующем поле

      Данные метки, также должны быть исключены из основного запроса правила

    • Только по меткам - перечисление меток в соответствующем поле
    Важно

    При изменении настроек правила формирования хэша допускается ситуация, при которой на экране порогов для одного порога будет отображаться несколько графиков, т.к. общий хэш будет уже не у уникальной метрики, а у нескольких метрик одновременно.

  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.<название метки> - позволяет указать название метки метрики
      Справка

      При отсутствии значения - макрос игнорируется

    • Аннотации

      Дополнительные поля порога, которые будут присвоены ему при создании

Запуск/остановка правил порогов

Запуск

После настройки правило расчета порогов можно запустить и начать анализ метрических рядов, поступающих в систему.

Нажмите кнопку Запустить в правом верхнем углу настроек правила, чтобы начать расчет по данному правилу.

Изображение

Сразу после запуска правила будут проверены подходящие под Запрос метрические ряды и сгенерированы пороги в соответствии с условиями создания порогов.

По-умолчанию пороги создаются без привязки к каким-либо КЕ.

Чтобы увидеть сгенерированные без привязки к КЕ пороги, на вкладке Пороги панели РСМ активируйте соответствующую настройку фильтра - "Без КЕ - Показать"

Изображение

Справка

Для выполнения привязки Порога к КЕ необходимо создать сценарий с типом ThresholdsProcessor и выстроить в нем логику, по которой будет выполняться проверка соответствия и привязка к КЕ.

Остановка

Для остановки расчета порогов по определенному правилу его нужно Остановить соответствующей кнопкой в настройках правила.

При остановке правила, по умолчанию, пользователю предлагается закрыть все открытые ранее пороги по данному правилу.

Удаление правила порога

Удаление правил расчета порогов доступно в настройках правила, в дополнительном меню.

Изображение

ВАЖНО

После удаления правила расчета будут закрыты все созданные по данному правилу пороги.

Экспорт/импорт правил порогов

Для удобства настройки логики обработки метрик пользователям доступны функции:

  • Клонирование - создание копии правила порога в текущем пространстве

    Изображение

  • Экспорт - экспорт настроек правила порога в формат base64

    Изображение

  • Импорт - импорт настроек из формата base64 в текущее правило

    ВАЖНО

    Все текущие настройки правила будут заменены значениями из импортируемого правила.

    Изображение

Привязка порогов к слотам и компонентам

В зависимости от выстроенной логики РСМ, привязывать Пороги к КЕ можно по разным критериям:

  • Привязка порога к КЕ и компоненту по умолчанию
  • Привязка порога к КЕ с указанием определенного компонента
  • Привязка порога к КЕ с указанием слотов компонентов

При этом вне зависимости от выбранных критериев, логика привязки задается через Сценарии автоматизации.

Экран управления Сценариями расположен в разделе меню "Действия" - Автоматизация.

Изображение

Для создания нового Сценария привязки Порогов к КЕ:

  1. Нажмите кнопку + Создать сценарий в правом верхнем углу экрана

  2. Заполните форму создания сценария:

    Изображение

    • Владелец сценария

      Рабочая группа, которой принадлежит сценарий автоматизации

    • Название

      Название сценария должно быть уникальным в рамках Рабочей группы

    • Тип

      В данном случае необходимо выбрать ThresholdsProcessor

    • Описание (опционально)
    • Импорт сценария (опционально)

      Импорт готового сценария выполняется в формате base64 (подробнее в разделе Импорт/экспорт сценария)

  3. Напишите свой сценарий привязки

    Для операций привязки/отвязки порогов вам потребуются функции:

  4. Нажмите кнопку Скомпилировать для применения внесенных изменений

  5. Активируйте Сценарий

Если настройка была выполнена верно, Пороги начнут привязываться к слотам и компонентам КЕ по заданному в сценарии алгоритму. :::

Если по какой-то причине, администратор пространства удалит компонент на типе КЕ, к которому были привязаны пороги - система автоматически привяжет эти пороги к компоненту КЕ по умолчанию.

При изменении названий компонентов КЕ в настройках CMDB - информация о связи порога с компонентом КЕ обновится автоматически.

Расчетчик (процессор) порогов

Расчет правила производится в указанный пользователем интервал времени в правиле. При расчете производится запрос к хранилищу метрик, согласно выбранных потоков данных и указанного запроса.

Каждый запрос оборачивается в агрегационную функцию, указанную пользователем в настройках правила.

Для каждого полученного временного ряда формируется хэш-идентификатор, при помощи которого производится проверка наличия ранее созданного порога для данного временного ряда.

После выполнения выражения правила, полученный результат сравнивается с таблицей текущих открытых порогов по хэш-идентификатору:

  • Если порога с таким хэш-идентификатором нет - создается новый порог
  • Если порог с таким хэш-идентификатором есть и уровень критичности совпадает - обновляется время жизни порога
  • Если порог с таким идентификатором есть и уровень не совпадает - старый порог закрывается и открывается новый с другим уровнем критичности.

Права доступа к разделу

При помощи ролевой модели Рабочей группы, менеджер проекта может настроить определенные роли пользователей, которым будет доступно:

  • Чтение - доступен просмотр всех правил в рамках Рабочей группы
  • Редактирование - полный доступ для управления правилами Порогов
  • Запрещено - доступ к просмотру правил Порогов запрещен