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

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

COMMUNITYCOREBUSINESSENTERPRISE

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

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

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

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

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

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

Привязка генерируемых порогов к конфигурационным единицам (КЕ) выполняется непосредственно в правиле порогов в блоке Связь с CMDB и осуществляется одним из трёх способов: по метке ID КЕ, по набору ключевых атрибутов или через сценарий автоматизации.

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

переоткрывать завершенные пороги невозможно

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

Обзор экрана​

Экран управления правилами порогов доступен из основного меню Анализ и обработка → Правила порогов

Изображение

доступ к разделу и его содержимому

регулируется ролевой моделью: права зависят от назначенной пользователю роли

На экране представлены следующие данные и элементы управления:

  • таблица с созданными правилами порогов с возможностью открыть карточку любого из них
  • поисковая строка
  • рубрикатор для фильтрации правил порогов
  • кнопка + Создать правило

При помощи рубрикатора пользователи могут фильтровать правила порогов по следующим свойствам:

  • Состояние - поможет показать только включенные или только отключенные правила порогов
  • Статус - отфильтрует правила порогов по их статусу
  • Поток данных - покажет только те правила порогов, которые связаны с выбранным потоком данных
  • Теги - фильтрация по назначенным тегам

Таблица с правилами порогов отображает основную информацию о созданных правилах порогов в контексте рабочей группы:

  • Статус правила порогов:
    • Неизвестно (серый) - правило не имеет запусков
    • Успешно (зеленый) - правило запускалось и последний его запуск завершился без ошибок
    • Ошибка (красный) - правило запускалось и последний его запуск завершился с ошибкой
  • Название правила порогов
  • Описание (при наличии)
  • Состояние правила (Запущено/ Остановлено)
  • Связанный поток данных:
    • Иконка
    • Название
    • Счетчик количества потоков с возможностью перехода к настройке потока данных выбранного потока данных
    • Индикация остановленного потока (если поток остановлен)
    • Иконка ошибки при условии отсутствия потока данных, если он был удален
  • Частоту расчета - интервал частоты расчета правила порога
  • Дата и время внесения последнего изменения в правиле порога
  • Список аннотаций - список дополнительных полей присвоенных при создании правила порога (ключ/значение)
  • Список тегов (цвет/название)

Список правил порогов загружается с использованием механизма "ленивой загрузки" — данные отображаются порциями по мере прокрутки списка.

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

Из списка правил порогов пользователь может открыть настройки правила, кликнув по нему в списке. В верхней панели правила доступны действия:

  • скопировать ID правила
  • открыть в новой вкладке браузера
  • скопировать ссылку на правило
  • изменить размер модального окна правила
  • закрыть карточку правила
  • запустить / остановить правило
  • воспользоваться контекстным меню с дополнительными возможностями
  • просмотреть настройки правила

Массовые действия​

Работая с экраном правил порогов доступно выполнение массовых действий по удалению, запуску/остановке и экспорта правил порогов.

Изображение

Массовые действия доступны при выборе одного и более правила порогов.

Предупреждение

При массовом удалении правил порогов пороги перестанут формироваться. Это затронет все связанные процессы.

Дополнительные действия​

В меню дополнительных действий доступны операции:

  • Запустить / остановить правило
  • Экспортировать правило
  • Удалить правило Изображение

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

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

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

Изображение

  • Владелец - рабочая группа, которой принадлежит правило расчета порога
  • Название правила - должно быть уникальным в рамках рабочей группы
  • Описание (опционально)

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

Основные настройки​

Изображение

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

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

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

Предупреждение

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

Изображение

Автозакрытие​

Время до автоматического закрытия порога, если не было подтверждающего события. Отсчет начинается с момента открытия или подтверждения порога.

Название порога​

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

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

По умолчанию это поле заполняется по шаблону:

[Имя правила]: [Имя метрики]; [Лейбл 1]; [Лейбл 2]

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

В данном блоке имеются дополнительные настройки:

  • Описание правила
  • Описание порога
  • Аннотации

Изображение

Аннотации​

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

Настройки источника метрик​

Изображение

Предупреждение

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

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

Необходимо выбрать как минимум один поток данных - источник метрик. Для выбора доступны потоки данных с типом "Метрики" контекстной РГ + пошаренные.

Вычисление​

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

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

Период — задаётся числовым значением с выбором единицы измерения: мин, ч, дн. Пример: Max за 10 мин — для расчёта берётся максимальное значение метрики за последние 10 минут.

Хэш​

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

Не предназначен для агрегации нескольких метрик

Это способ использования указанных меток для определения уникальности порога. Доступны следующие критерии:

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

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

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

  • Только по указанным меткам (риск коллизий) - перечисление меток в соответствующем поле Изображение

    Справка

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

Запрос​

Для указания запроса необходимо перейти к форме его редактирования.

Запрос значений метрики может быть сформирован двумя способами: с помощью Конструктора запросов (интерактивный выбор метрик и меток) или вручную на языке MetricsQL (PromQL) с помощью Строки запроса.

Пример ручного ввода:
aggregator_openapi_v2_regeneration_count{endpoint="https", instance="10.18.0.100:6443", job="apiserver"}

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

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

Строка для запроса работает одновременно и в режиме Поиска по существующим в БД метрикам. Изображение

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

Важно

При необходимости внесения изменений в Запрос активного правила - Правило сначала нужно остановить и выбрать "Закрыть пороги". Если это не сделать, пороги будут создаваться как новые, не заменяя предыдущие. А старые останутся открытыми.

График временных рядов​

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

Изображение

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

При работе с графиком доступен датапикер. Также предусмотрена возможность выбора периода непосредственно на графике — для этого необходимо зажать левую кнопку мыши и выделить нужную область.

Важно

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

Настройки детектора аномалий​

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

Изображение

Статический детектор аномалий​

Статический детектор аномалий — это фиксированное правило, с помощью которого заранее устанавливаются верхняя и нижняя границы допустимых значений метрики. Всё, что выходит за эти границы, считается аномалией.

Инструментом для задания границ выступает Блок условий.

Каждое созданное правило уже имеет созданный Блок условий и удалить этот блок нельзя. По умолчанию для Блока условий устанавливается статус Ok.

Чтобы создать Блок условий необходимо нажать на кнопку + Блок условий

каждое правило порогов может содержать не более 20 Блоков условий. Для определенных периодов можно задать разные уровни критичности и значения для порогов (например, для ночных часов, выходных или сезонных кампаний).

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

Изображение

Для каждого блока условий отображается:

  • Активное время, заданное по расписанию или дате.
  • Уровни критичности и их значения (с цветовой индикацией):
    • Fatal
    • Critical
    • Major
    • Warning
    • Info
  • График с метричным рядом

Доступные действия:

  • изменение периода отображения временных рядов (по умолчанию — последние 24 часа)
  • выполнить настройки активного времени:
    • задать период действия блока через расписание (месяц, дни недели, дни месяца, тип дней, время, часовой пояс)
    • задать диапазон дат
  • выбрать интервал времени на графике с помощью выделения мышью
  • включение / отключение отображения легенды
  • задание условий для создания порогов (по умолчанию — Оk)

После завершения всех настроек необходимо сохранить изменения — блок будет создан и настроен в соответствии с указанными параметрами.

Адаптивный детектор аномалий​

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

Изображение

Внимание

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

Алгоритм

Метод расчёта — определяет способ построения границ нормы (бейзлайнов):

  • IQR метод (по умолчанию) — классический метод на основе оценки межквартильного размаха. Устойчив к единичным выбросам.

Изображение

  • Перцентильный метод — прямое сравнение с заданным перцентилем. Поддерживает несколько уровней аномалий.

Изображение

Справка

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

Чувствительность — управляет шириной бейзлайна.

Изображение

Чем выше установленное значение, тем шире границы нормы и тем меньше ложных срабатываний. Чем ниже — тем чувствительнее детектор и тем больше мелких отклонений он фиксирует. Диапазон: 0.00–5.00.

Уровни порога

Для каждого уровня настраивается условие срабатывания:

  • значение больше верхней границы бейзлайна;
  • значение внутри границ (обычно OK);
  • значение меньше нижней границы бейзлайна.

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

  • Fatal
  • Critical
  • Major
  • Warning
  • Info
  • OK

Приоритетные границы:

  • Верхняя приоритетная граница
  • Нижняя приоритетная граница

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

Изображение

Недостаток данных

Определяет поведение детектора, когда исторических данных недостаточно для построения модели:

  • Использовать коллективный бейзлайн — применяется бейзлайн на основе всех рядов правила.
  • Установить уровень — задаётся уровень критичности, который будет присвоен при недостатке данных.

Изображение

Расширенная настройка

Блок с расширенными настройками доступен при включенном адаптивном детекторе аномалий и позволяет управлять параметрами построения бейзлайна и обучения модели.

Изображение

Бейзлайн

Актуальность бейзлайна — срок «жизни» бейзлайна с момента его последнего обновления.

Вид бейзлайна — определяет, на каких данных строится модель:

  • Индивидуальный — бейзлайн строится исключительно на истории самого временного ряда.
  • Групповой — бейзлайн строится по данным всех рядов в группе. Помогает выявить аномальные объекты, которые ведут себя не так, как остальные в группе.

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

Изображение

Стратегия построения

Глубина обучения — определяет возраст данных при полном обучении.

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

Переобучение — частота полного обновления бейзлайна. Доступны два режима:

  • По периоду — переобучение через заданный интервал (число + единица измерения, по умолчанию 7 дней).
  • По расписанию — переобучение в заданные моменты времени.

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

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

Учёт контекста

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

Изображение

Доступные параметры:

  • Учитывать время суток — разбиение по времени суток (например, двухчасовые интервалы):

    • Почасовой — значения за тот же час суток (например, 02:00–02:59)
    • Двухчасовой — разбиение суток на 12 двухчасовых интервалов с 00:00
    • Четырёхчасовой — разбиение суток на 6 четырёхчасовых интервалов с 00:00
    • Период дня (6 ч.) — деление на 4 периода: ночь (00:00–06:00), утро (06:00–12:00), день (12:00–18:00), вечер (18:00–24:00).
  • Учитывать день недели — разбиение по дням недели.

  • Учитывать производственный календарь — разбиение по типу дня (рабочий / выходной / праздник).

  • Часовой пояс — часовой пояс для сегментации (по умолчанию — пояс пользователя).

При выборе нескольких контекстных признаков данные разбиваются на более мелкие сегменты (например, только понедельник с 09:00 до 10:00). Минимальный размер обучающей выборки выполняется для каждого сегмента отдельно.

Настройки прогнозирования​

Прогнозирование позволяет предсказывать поведение метрики на основе исторических данных. Модель обучается на результирующем ряде с частотой дискретизации, равной интервалу расчёта правила, а объём обучающей выборки определяется настройками прогноза (объём инициализации, компенсация потерь). Прогноз строится на заданное количество интервалов вперёд. Изображение

Если прогноз выключен, раздел «Прогноз» отображается в свёрнутом виде. Для доступа к настройкам его необходимо развернуть.
Горизонт прогноза​

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

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

Изображение

Расширенная настройка даёт полный контроль над моделью прогнозирования: можно доверить подбор параметров Monq AI или задать их вручную под специфику метрики. Настройки линейного и сезонного прогноза позволяют адаптировать модель к разным типам временных рядов — от стабильных до волатильных и сезонных, а переобучение и фильтрация по меткам обеспечивают актуальность и точность прогноза для нужных порогов.

Расширенные настройки доступны при включенном прогнозировании и включают в себя:

  • Актуальность модели - срок «жизни» модели с момента её последнего обновления.
  • Линейный прогноз - параметры линейной составляющей прогноза:
    • Объём инициализации — объём данных для старта (пропорционально горизонту прогноза). Большие значения повышают устойчивость прогноза, но откладывают его начало.
    • Компенсация потерь — расширяет временное окно для сбора начальных данных, компенсируя пропуски в истории. Большие значения позволяют набрать нужное число точек, но могут захватить устаревшие данные.
    • Сглаживание уровня — чувствительность к последним изменениям среднего значения. Высокое значение (≈0,7–1,0) — быстрая реакция на резкие скачки; низкое (≈0,1–0,3) — сглаживание шума, прогноз более инерционный.
    • Затухание тренда — уменьшает влияние тренда на дальние прогнозы, делая их осторожнее. Значение 1.0 отключает затухание (классический линейный тренд); 0.9–0.95 рекомендуется для горизонтов >10 шагов во избежание завышения.
  • Сезонный прогноз - добавляет в модель сезонную составляющую:
    • Сезонность — определяет, как учитывается сезонный паттерн.
    • Объём инициализации — объём данных для старта (пропорционально сезонности). Большие значения повышают устойчивость прогноза, но откладывают его начало. Задаётся в интервалах (например, 2 интервала ≈ 0 дней).
    • Компенсация потерь — аналогично линейному прогнозу: расширяет временное окно для сбора начальных данных, компенсируя пропуски в истории.
  • Переобучение - частота полного обновления модели:
    • По периоду — переобучение через заданный интервал.
    • По расписанию — переобучение в заданные моменты времени.
Функция «Переобучить модель» запускает полное обучение моделей прогнозирования по доступным историческим данным. Следующий плановый запуск полного обучения будет перенесен.
  • Область прогнозирования
    • Фильтрация по меткам — дополнительный фильтр, чтобы прогноз строился только для определённых порогов.

Вычисление прогноза

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

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

Если данных для надёжного сезонного прогноза ещё недостаточно, применяется линейная модель — первые прогнозы появляются уже через 2–3 часа, а после накопления данных автоматически подключается сезонная модель.

Параметры моделей настраиваются автоматически сервисом Monq AI и корректируются по мере поступления новых данных.

Расчет адаптивных порогов для прогнозных значений

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

Расчёт выполняется с учётом всех настроек адаптивного детектора и прогноза, результаты сохраняются в СУБД. Если прогнозируемый статус порога отличается от текущего, в Автоматон отправляется соответствующее событие.

Важно

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

Удаление моделей прогнозирования

Каждый час запускается процесс удаления невалидных моделей — моделей, у которых истёк срок жизни.

BUSINESSENTERPRISE

Настройки связи с CMDB​

Связь с CMDB позволяет привязать генерируемые пороги к конкретному объекту инфраструктуры (например, серверу, базе данных или приложению). Это значит, что все аномалии и алерты будут привязаны не просто к метрике, а к конкретному оборудованию или сервису, что упрощает поиск причины проблемы и понимание, на что именно повлиял сбой.

Изображение

По умолчанию автоматическая привязка выключена (выбран алгоритм Выключено). Для настройки блока CMDB необходимо выбрать один из алгоритмов привязки.

Возможность настройки привязки к CMDB определяется параметрами лицензии. Если лицензия не поддерживает работу с CMDB, настройка недоступна, независимо от установленных прав в контекстной РГ.

Алгоритмы привязки:

  • Выключено - автоматическая привязка отключена (по умолчанию).

  • По метке с ID КЕ — привязка по совпадению значения указанной метки метрики с ID КЕ.

  • По ключевым атрибутам — динамический поиск КЕ по заданным атрибутам.

  • Через сценарий автоматизации — гибкий механизм привязки с использованием сценариев автоматизации.

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

Совместимость со сценариями

Переключатель Совместимость со сценариями ThresholdProcessor (Monq 8) управляет тем, какие события генерируются при работе правила:

  • Включен — при открытии/закрытии порога генерируется событие OnThresholdEvent. Событие OnProcessedThresholdsEvent не создаётся.
  • Выключен — генерируется событие OnProcessedThresholdsEvent при открытии/закрытии порога и событиях прогноза.

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

Внимание

Перед включением убедитесь, что вы не используете события типа OnProcessedThresholdsEvent (Monq 9) для генерации сигналов по порогам данного правила.

Алгоритм привязки по метке с ID КЕ

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

Настройка:

  • Название метки метрики с ID КЕ — указывается ключ метрики, в котором хранится ID КЕ (по умолчанию configItemId).

  • Компонент и слот для типа КЕ — при необходимости для каждого типа КЕ указывается компонент и слот. Можно добавить несколько типов КЕ, а также удалить лишние.

Для явно не определённых типов КЕ будет выбираться компонент по умолчанию

Если соответствие (КЕ) не найдено:

  • Без КЕ — оставляет поле привязки пустым, если соответствие не найдено (в configItemId записывается 0).
  • Не найдено — подставляет специальное значение, указывающее, что поиск соответствия не дал результатов (в configItemId записывается -1).

Алгоритм привязки по ключевым атрибутам

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

Изображение

Настройка:

  • Тип КЕ — добавляется кнопкой + Тип КЕ. Доступны типы пространства, для которых на типе КЕ заданы ключевые атрибуты. Доступен текстовый поиск по типу. Порядок типов КЕ можно менять перетаскиванием — проверка выполняется сверху вниз.
  • Для дальнейшей настройки кликните по выбранному типу КЕ:
    • Группа ключей — если на типе КЕ создано несколько групп ключей, их можно добавить в настройку или удалить. Также доступен переход к настройкам типа КЕ.
    • Метка временного ряда — для каждого атрибута КЕ указывается соответствующая метка метрики. Доступны макросы.
    • Привязка к компоненту и слоту:
      • компонент и слот по умолчанию
      • указать компонент и слот для размещения

Изображение

Справка

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

Если соответствие не найдено:

  • «Без КЕ» — оставляет поле привязки пустым, если соответствие не найдено (в configItemId записывается 0). Значение по умолчанию.
  • «Ошибка привязки» — подставляет специальное значение, указывающее, что поиск соответствия не дал результата (в configItemId записывается -1).

Алгоритм привязки через Сценарий автоматизации

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

Изображение

Настройка:

  • Сценарий автоматизации — выбирается из выпадающего списка доступных сценариев с типом ThresholdsToCmdbBinder в контексте текущей РГ. Обязательное поле.
  • Пользователь может перейти к сценарию по кнопке Перейти к сценарию, а также выполнить переход к списку сценариев с типом ThresholdsToCmdbBinder контекстной РГ с помощью кнопки 🡕. Изображение

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

Запуск​

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

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

Изображение

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

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

Чтобы увидеть сгенерированные без привязки к КЕ пороги,

на вкладке «Пороги» оперативного центра активируйте + Фильтр → Без КЕ

Остановка​

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

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

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

Удаление правил расчета порогов доступно:

  • меню дополнительных действий карточки правила

Изображение

  • меню дополнительных действий из списка правил порогов

Изображение

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

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

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

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

    Изображение

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

При создании копии пользователь может внести изменения в следующие параметры правила порога:

  • Владелец
  • Название
  • Описание
  • Потоки данных
Скопированное Правило порога имеет состояние Выключено
  • Экспорт - экспорт настроек правила порога

Функция экспорта правила порогов доступна в карточке правила порога и в таблице на общем экране правил порогов из меню дополнительных действий

экспорт настроек правила порогов осуществляется без настроек источника метрик/потоков данных и настройки блока "Связь с CMDB" за исключением Название метки метрики с ID КЕ

Для выполнения функции экспорта доступны следующие методы:

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

Изображение

  • Импорт - импорт настроек из другого правила порога, находящегося в текущем рабочем пространстве.

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

Изображение

Общее правило

При импорте происходит замена значений только тех полей, которые содержатся в данных импорта, все остальные поля остаются неизменными. Импорт - это аналог метода PATCH в HTTP.

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

  • из другого правила - импорт настроек из правила порога, находящегося в текущем рабочем пространстве:
    • РГ донор и РГ реципиент совпадают — копируются все настройки, за исключением названия правила порога.
    • РГ донор и РГ реципиент не совпадают — копируются все настройки, за исключением:
      • названия правила порога
      • источник метрик / потоки данных
      • Связь с CMDB / сценарий автоматизации

Изображение

  • из файла - импорт настроек правила из ранее экспортированного файла
  • код в base64 - импорт настроек правила из строки в формате base64.
    • с выполнением проверки на валидность импортируемых данных:
      • В случае невалидных данных - выводится сообщение об ошибке
      • в случае валидных данных в полях карточки появляются импортированные значения за исключением потоки данных/источники метрик, настройки блока "Связь с CMDB" (кроме поля «Название метки метрики с ID КЕ»)

Изображение

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

Поиск правил порогов​

Для поиска необходимого правила порогов среди множества доступных используется функция поиска. Она позволяет находить правила по следующим параметрам:

  • Название правила
  • ID правила
  • Описание

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

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

Запрос выполняется в API Instant query.

Пример результирующего запроса настроенного правила со следующими параметрами:

  • Потоки данных: поток с ID = 1
  • Окно вычисления: 30 мин
  • Функция агрегации: Max
  • Запрос: increase(metric_count_total[30m])[30m:1m]
curl --location 'http://<vm_address>/prometheus/api/v1/query' \
--header 'Authorization: Basic xxxxxxxxxxxx' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'query=max_over_time(increase(metric_count_total[30m])[30m:1m])&extra_filters[]={monq_stream_id=~"1"}&extra_label=monq_userspace_id=1&step=30m'

Где:

  • В параметр extra_filters[] передаются значения, указанные в настройке «Потоки данных».
    При поступлении в поток каждой метрике присваивается метка monq_stream_id=<id_потока>.
  • В параметр extra_label передается системная метка monq_userspace_id=1, соответствующий текущему пространству пользователя.
    Метка monq_userspace_id присваивается всем метрикам по умолчанию.
  • В параметр step передается значение из настройки «Окно вычисления»
  • В параметр query подставляется исходный запрос из поля «Запрос», обернутый в выбранную в настройках функцию агрегации.
    В примере increase(...) обернут в max_over_time(...) и в результате получается:
    max_over_time(increase(metric_count_total[30m])[30m:1m])
Важно учитывать вложенность субзапросов

В примере выше для субзапроса increase(...) явно задан диапазон [range:resolution] — [30m:1m].
Это необходимо, потому что в VictoriaMetrics шаг субзапроса по умолчанию наследуется из параметра step.
Если не указать range:resolution явно, субзапрос будет выполняться с шагом 30m, что приведет к существенной потере детализации и может вызвать ошибки в расчетах — например, пропуск кратковременных пиков метрики.

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

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

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