Создание оповещения метрик с динамическими порогами

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

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

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

Рекомендуется настроить правила генерации оповещений с динамическими порогами для этих метрик:

  • Процент ЦП виртуальной машины
  • Время выполнения HTTP-запроса Аналитика приложения

Динамические пороги помогут вам делать следующее:

  • Создавать масштабируемые оповещения для сотен серий метрик с одним правилом генерации оповещений. Чем меньше правил генерации оповещений, тем меньше времени вы тратите на их создание и управление ими. Масштабируемое оповещение особенно полезно для нескольких измерений или для нескольких ресурсов, таких как все ресурсы в подписке.
  • Создавайте правила без необходимости знать, какое пороговое значение необходимо настроить. С помощью динамических пороговых значений можно настроить оповещения метрик с помощью высокоуровневых концепций, не имея обширных знаний о области метрик
  • Настраивать оповещения по метрикам с использованием общих концепций, без широких познаний о метрике.
  • Устранять слишком шумные (с низкой точностью) и слишком широкие (с низкой полнотой) пороги для метрик без очевидных тенденций.
  • Обработка шумных метрик (например, ЦП или памяти компьютера) и метрик с низким распределением (например, доступность и скорость ошибок)

Вы можете использовать динамические пороговые значения для:

  • большинство платформ Azure Monitor и пользовательские метрики
  • общие метрики приложений и инфраструктуры
  • шумные метрики, такие как ЦП компьютера или память
  • Метрики с низким распределением, например доступность и частота ошибок, см . метрики, не поддерживаемые динамическими порогами для списка метрик, которые не поддерживаются динамическими порогами.

Динамические пороговые значения можно настроить с помощью:

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

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

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

Рекомендации при использовании динамических пороговых значений

  • Чтобы обеспечить точное вычисление пороговых значений, оповещения, использующие динамические пороговые значения, не активируют оповещение перед сбором трех дней и по крайней мере 30 выборок данных метрик. Таким образом, новые ресурсы или ресурсы, отсутствующие данные метрик, не активируют оповещение до тех пор, пока не будет доступно достаточно данных.
  • Динамические пороговые значения требуют по крайней мере три недели исторических данных для обнаружения еженедельной сезонности. Некоторые подробные шаблоны, такие как двучасовые или полунедельные шаблоны, могут быть не обнаружены.
  • Если поведение метрики изменилось недавно, изменения не будут немедленно отражены в динамических пороговых верхних и нижних границах. Эти границы рассчитываются на основе данных метрик за последние 10 дней. При просмотре границ динамических порогов для заданной метрики следует проанализировать тенденцию метрики за последнюю неделю, а не только за последние часы или дни.
  • Динамические пороговые значения хорошо подходит для обнаружения значительных отклонений, а не для медленно развивающихся проблем. Медленные изменения поведения, вероятно, не активируют оповещение.

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

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

    • Чувствительность порога: установите для уровня чувствительности значение Низкий, чтобы снизить чувствительность к отклонениям.
    • Число нарушений (в разделе Дополнительные параметры). Настройте правило генерации оповещений, чтобы оно активировалось, только если в течение заданного периода возникает определенное число отклонений. Это сделает правило менее подверженным воздействию временных отклонений.
  • Вы можете столкнуться с правилом генерации оповещений, которое использует динамические пороговые значения, не срабатывает или не учитывается достаточно, даже если он настроен с высокой конфиденциальностью. Это может произойти, когда распределение метрик является очень нерегулярным. Рассмотрите одно из следующих решений, чтобы устранить проблему:

    • Перейдите к мониторингу дополнительной метрики, подходящей для вашего сценария (если применимо). Например, проверьте наличие изменений в частоте успешных выполнений, а не частоте сбоев.
    • Попробуйте выбрать другое значение параметра Степень детализации сбора данных (период).
    • Проверьте, произошло ли резкое изменение поведения метрик за последние 10 дней, например сбой. Внезапное изменение может повлиять на верхние и нижние пороговые значения, вычисляемые для метрики, и расширить их. Подождите несколько дней, пока сбой больше не будет приниматься в расчет пороговых значений. Вы также можете изменить правило генерации оповещений, чтобы использовать данные "Игнорировать" перед параметром "Дополнительные параметры".
    • Если данные имеют недельную сезонность, однако накопленных в журнале данных для метрики недостаточно, вычисленные пороговые значения могут иметь расширенные верхние и нижние границы. Например, при вычислении рабочие дни и выходные дни могут обрабатываться одинаково, что приводит к расширению границ, которые не всегда соответствуют данным. Эта проблема должна решиться после того, как будет собран достаточный журнал метрик. Затем обнаруживается правильная сезонность и вычисляемые пороговые значения обновляются соответствующим образом.
  • Если значение метрики отображает большие колебания, динамические пороговые значения могут создавать широкую модель вокруг значений метрик, что может привести к снижению или более высокой границе, чем ожидалось. Этот сценарий может произойти, когда:

    • установлен низкий уровень чувствительности;
    • метрика демонстрирует неравномерное поведение с высокой дисперсией, то есть в данных есть пики или провалы.

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

Настройка динамических пороговых значений

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

  1. На вкладке "Условия "
    1. В поле "Пороговые значения" выберите "Динамический".
    2. В типе агрегирования рекомендуется не выбрать максимальное значение.
    3. В поле "Оператор" выберите "Больше, чем если поведение не представляет использование приложения".
    4. В параметре "Пороговая чувствительность" выберите средний или низкий , чтобы уменьшить шум оповещений.
    5. В поле "Проверка каждого" рассмотрите возможность снижения частоты на основе влияния оповещения на бизнес.
    6. В период Lookback задайте для окна обратного просмотра значение не менее 15 минут. Например, если проверка каждое поле имеет значение 5 минут, период обратного просмотра должен быть не менее 3 минут или более.
  2. Продолжайте работу с остальным процессом, чтобы создать правило генерации оповещений.

Примечание.

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

Общие сведения о динамических пороговых диаграммах

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

Screenshot that shows a metric, its dynamic thresholds limits, and some alerts that fired.

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

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

Метрики, не поддерживаемые динамическими порогами

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

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

Тип ресурса Имя метрики
Microsoft.ClassicStorage/storageAccounts UsedCapacity
Microsoft.ClassicStorage/storageAccounts/blobServices BlobCapacity
Microsoft.ClassicStorage/storageAccounts/blobServices BlobCount
Microsoft.ClassicStorage/storageAccounts/blobServices IndexCapacity
Microsoft.ClassicStorage/storageAccounts/fileServices FileCapacity
Microsoft.ClassicStorage/storageAccounts/fileServices FileCount
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareCount
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareSnapshotCount
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareSnapshotSize
Microsoft.ClassicStorage/storageAccounts/fileServices FileShareQuota
Microsoft.Compute/disks Общая скорость чтения с диска (байт/с)
Microsoft.Compute/disks Всего операций чтения с диска/с
Microsoft.Compute/disks Общая скорость записи на диск (байт/с)
Microsoft.Compute/disks Всего операций записи на диск/с
Microsoft.ContainerService/managedClusters NodesCount
Microsoft.ContainerService/managedClusters PodCount
Microsoft.ContainerService/managedClusters CompletedJobsCount
Microsoft.ContainerService/managedClusters RestartingContainerCount
Microsoft.ContainerService/managedClusters OomKilledContainerCount
Microsoft.Devices/IotHubs TotalDeviceCount
Microsoft.Devices/IotHubs ConnectedDeviceCount
Microsoft.Devices/IotHubs TotalDeviceCount
Microsoft.Devices/IotHubs ConnectedDeviceCount
Microsoft.DocumentDB/databaseAccounts CassandraConnectionClosures
Microsoft.EventHub/clusters Размер
Microsoft.EventHub/namespaces Размер
Microsoft.IoTCentral/IoTApps connectedDeviceCount
Microsoft.IoTCentral/IoTApps provisionedDeviceCount
Microsoft.Kubernetes/connectedClusters NodesCount
Microsoft.Kubernetes/connectedClusters PodCount
Microsoft.Kubernetes/connectedClusters CompletedJobsCount
Microsoft.Kubernetes/connectedClusters RestartingContainerCount
Microsoft.Kubernetes/connectedClusters OomKilledContainerCount
Microsoft.MachineLearningServices/workspaces/onlineEndpoints RequestsPerMinute
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments DeploymentCapacity
Microsoft.Maps/accounts CreatorUsage
Microsoft.Media/mediaservices/streamingEndpoints EgressBandwidth
Microsoft.Network/applicationGateways Пропускная способность
Microsoft.Network/azureFirewalls Пропускная способность
Microsoft.Network/expressRouteGateways ExpressRouteGatewayPacketsPerSecond
Microsoft.Network/expressRouteGateways ExpressRouteGatewayNumberOfVmInVnet
Microsoft.Network/expressRouteGateways ExpressRouteGatewayFrequencyOfRoutesChanged
Microsoft.Network/virtualNetworkGateways ExpressRouteGatewayBitsPerSecond
Microsoft.Network/virtualNetworkGateways ExpressRouteGatewayPacketsPerSecond
Microsoft.Network/virtualNetworkGateways ExpressRouteGatewayNumberOfVmInVnet
Microsoft.Network/virtualNetworkGateways ExpressRouteGatewayFrequencyOfRoutesChanged
Microsoft.ServiceBus/namespaces Размер
Microsoft.ServiceBus/namespaces Сообщения
Microsoft.ServiceBus/namespaces ActiveMessages
Microsoft.ServiceBus/namespaces DeadletteredMessages
Microsoft.ServiceBus/namespaces ScheduledMessages
Microsoft.ServiceFabricMesh/applications AllocatedCpu
Microsoft.ServiceFabricMesh/applications AllocatedMemory
Microsoft.ServiceFabricMesh/applications ActualCpu
Microsoft.ServiceFabricMesh/applications ActualMemory
Microsoft.ServiceFabricMesh/applications ApplicationStatus
Microsoft.ServiceFabricMesh/applications ServiceStatus
Microsoft.ServiceFabricMesh/applications ServiceReplicaStatus
Microsoft.ServiceFabricMesh/applications ContainerStatus
Microsoft.ServiceFabricMesh/applications RestartCount
Microsoft.Storage/storageAccounts UsedCapacity
Microsoft.Storage/storageAccounts/blobServices BlobCapacity
Microsoft.Storage/storageAccounts/blobServices BlobCount
Microsoft.Storage/storageAccounts/blobServices BlobProvisionedSize
Microsoft.Storage/storageAccounts/blobServices IndexCapacity
Microsoft.Storage/storageAccounts/fileServices FileCapacity
Microsoft.Storage/storageAccounts/fileServices FileCount
Microsoft.Storage/storageAccounts/fileServices FileShareCount
Microsoft.Storage/storageAccounts/fileServices FileShareSnapshotCount
Microsoft.Storage/storageAccounts/fileServices FileShareSnapshotSize
Microsoft.Storage/storageAccounts/fileServices FileShareCapacityQuota
Microsoft.Storage/storageAccounts/fileServices FileShareProvisionedIOPS

Следующие шаги