Перейти к содержанию

Сезонный базовый уровень

  • Latest Dynatrace
  • Описание

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

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

Пример базового уровня

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

При оценке по статическому порогу эти ежедневные пики приводят к ложноположительным сигналам тревоги (красная аннотация на графике).

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

Dynatrace Intelligence автоматически обнаруживает сезонное поведение во временном ряде и создаёт доверительный интервал на основе этого паттерна. Как видно на графике ниже, модель распознаёт сезонность и не генерирует ложные сигналы тревоги на пиках. Однако она по-прежнему вызовет оповещение, если всплеск произойдёт в другое время.

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

Параметры модели базового уровня

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

Вы можете изменить ширину доверительного интервала с помощью параметра tolerance. Более высокое значение допуска означает более широкий доверительный интервал, что приводит к меньшему количеству сработавших событий. Допустимый диапазон для допуска составляет от 0.1 до 10, значение по умолчанию — 4.

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

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

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

Модель (будь то сезонная или простая) обновляется ежедневно.

Ещё одним важным параметром для сезонных базовых уровней является скользящее окно, которое используется для сравнения текущих измерений с доверительным интервалом. Оно определяет, как часто доверительный интервал должен быть нарушен в пределах скользящего окна времени для создания события (нарушения не обязательно должны быть последовательными). Этот подход помогает снизить количество ложноположительных срабатываний при оповещении. Максимальная длительность скользящего окна — 60 минут.

Обучение модели базового уровня

Модель сезонного базового уровня использует значения метрики за каждую минуту за последние 14 дней для обучения и обучается по кортежам (уникальные комбинации метрика-измерение-значение измерения). Обучение происходит ежедневно.

На изображении ниже представлен обзор процесса обучения.

Обзор модели сезонного базового уровня

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

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

Если валидация не пройдена, вместо этого используется простая модель. Если валидация прошла успешно, следующий этап — предварительная обработка входных данных. На этом этапе данные подготавливаются для обучения модели квантильной регрессии, которая изучает сезонное поведение по трём основным характеристикам (признакам) данных:

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

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

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

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

Связанные темы

  • Метрики Classic