다음을 통해 공유

具有动态阈值的警报规则概述

如果不确定用作警报规则阈值的最佳值,动态阈值将应用高级机器学习并使用一组算法和方法:

  • 了解指标和日志查询结果的历史行为。
  • 分析随时间推移的数据,并确定每小时、每日或每周模式等模式。
  • 识别可能指示问题的异常。
  • 计算最合适的阈值。 

使用动态阈值时,不必知道每个指标的正确阈值。 动态阈值会为你计算最适合的阈值。

动态阈值有助于:

  • 使用一个警报规则为数百个指标系列创建可缩放警报。 如果警报规则更少,则创建和管理警报规则所需的时间更少。 可缩放的警报对于多个维度或多个资源(例如订阅中的所有资源)尤其有用。
  • 创建规则而无需知道要配置的阈值。
  • 使用高级概念配置指标警报,而无需精通指标。
  • 防止出现不能提供预期模式的干扰性(低精度)阈值或宽泛性(低召回率)阈值。

可以对以下项使用动态阈值:

  • 大多数 Azure Monitor 平台和自定义指标。
  • 常见应用程序和基础结构指标。
  • 干扰性指标,例如虚拟机 CPU 或内存或分散程度较低的指标,例如可用性和错误率。
  • 日志查询结果(预览版)。

可以使用以下方法配置动态阈值:

警报阈值计算和预览

创建警报规则时,动态阈值会使用 10 天的历史数据来计算每小时或每日季节性模式。 你在警报预览中看到的图表反映了该数据。

动态阈值会持续使用所有可用的历史数据来进行学习,并做出调整提升准确性。 三周后,动态阈值会有足够的数据来识别每周模式,并且模型会进行调整以包括每周季节性。

这可确保一旦服务中断结束,阈值保持与正常行为一致,而不是将中断视为新的常态。 短暂异常或波动值以不同的方式进行处理:动态阈值应用季节性和趋势检测,同时结合最小违反持续时间,以减少因短暂异常而产生的误报。

使用动态阈值的注意事项

  • 为了帮助确保准确的阈值计算,使用动态阈值的警报规则在收集三天和至少 30 个数据样本之前不会触发警报。 在有足够的数据可用之前,缺少数据的新资源或资源不会触发警报。
  • 动态阈值至少需要三周的历史数据来检测每周季节性。 可能无法检测到某些详细模式,例如两小时模式或半周模式。
  • 数据行为的更改 - 如果数据的行为最近更改,则更改不会立即反映在动态阈值的上限和下限中。 这些边界是基于过去 10 天的指标数据计算得出的。
  • 动态阈值适合检测重大偏差,而不适合检测逐渐形成的问题。 缓慢的行为更改可能不会触发警报。
  • 不能在监视多个条件的警报规则中使用动态阈值。
  • 在日志搜索警报规则中,不能使用频率为 1 分钟的动态阈值。

创建具有动态阈值的指标警报规则

若要配置动态阈值,请遵循创建警报规则的过程。 在“条件”选项卡上使用这些设置:

  • 对于“阈值”,请选择“动态”。
  • 对于“聚合类型”,建议不要选择“最大值”。
  • 对于“运算符”,选择“大于”,除非行为代表应用程序使用情况
  • 对于“阈值敏感度”,选择“”或“”以减少警报干扰。
  • 对于“检查间隔”,选择预警规则检查条件是否满足的频率。 若要最大程度地减少警报的业务影响,请考虑使用较低的频率。 确保此值小于或等于“回溯时间段”值。
  • 对于“回溯时间段”,设置每次检查数据时要回溯的时间段。 确保此值大于或等于“检查间隔”值。
  • 对于“高级选项”,选择在特定时间段内触发警报的冲突数。 可以选择设置开始学习指标历史数据的日期并计算动态阈值。

注意

通过门户创建的指标警报规则将在目标资源所在的资源组中创建。

动态阈值图表

以下图表显示一个指标及其动态阈值限制,以及当值超出允许的阈值时触发的一些警报。

屏幕截图显示一个图表展示指标、其动态阈值限制和触发的一些警报。

使用以下信息解释该图表:

  • 蓝线:一段时间内测量的指标。
  • 蓝色阴影区域:指标的允许范围。 如果指标值停留在此范围内,则不会触发警报。
  • 蓝点:聚合指标值。 如果选择图表的一部分,然后将鼠标悬停在蓝线上,则光标下会出现一个蓝点,显示指示单个聚合指标值。
  • 带有蓝点的弹出框:测量的指标值(蓝点)和允许范围的上限值和下限值
  • 带有黑色圆圈的红点:超出允许范围的第一个指标值。 此值会触发指标警报并将该警报置于活动状态。
  • 红点:允许范围之外的其他测量值。 它们不会触发更多指标警报,但该警报会保持活动状态。
  • 红色区域:指标值超出允许范围的时间。 只要随后的测量值超出允许范围,该警报就会保持活动状态,但不会触发新警报。
  • 红色区域结束:回到允许的值。 当蓝线回到允许值内时,红色区域会停止,度量值线会变蓝。 在带有黑色圆圈的红点设置为“已解决”时触发的指标警报的状态。

动态阈值不支持的指标

动态阈值支持大多数指标,但以下指标无法使用动态阈值:

资源类型 指标名称
Microsoft.ClassicStorage/storageAccounts 已用容量
Microsoft经典存储/存储帐户/Blob服务 BlobCapacity
Microsoft经典存储/存储帐户/Blob服务 BlobCount
Microsoft经典存储/存储帐户/Blob服务 索引容量
Microsoft.ClassicStorage/存储账户/文件服务 文件容量
Microsoft.ClassicStorage/存储账户/文件服务 文件计数
Microsoft.ClassicStorage/存储账户/文件服务 FileShareCount
Microsoft.ClassicStorage/存储账户/文件服务 文件共享快照计数
Microsoft.ClassicStorage/存储账户/文件服务 文件共享快照大小
Microsoft.ClassicStorage/存储账户/文件服务 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 内存不足被终止的容器计数
Microsoft.Devices/IotHubs (微软设备/物联网中心) 总设备数
Microsoft.Devices/IotHubs (微软设备/物联网中心) 连接设备数量
Microsoft.DocumentDB/数据库账户 CassandraConnectionClosures (Cassandra连接关闭)
Microsoft.EventHub/clusters 大小
Microsoft.EventHub/命名空间 CPU
Microsoft.EventHub/命名空间 内存使用情况
Microsoft.EventHub/命名空间 ReplicationLagCount
Microsoft.EventHub/命名空间 大小
Microsoft.IoTCentral/IoTApps 连接设备数量
Microsoft.IoTCentral/IoTApps 已配置设备数量
Microsoft.Kubernetes/connectedClusters NodesCount
Microsoft.Kubernetes/connectedClusters PodCount
Microsoft.Kubernetes/connectedClusters CompletedJobsCount
Microsoft.Kubernetes/connectedClusters RestartingContainerCount (重启容器计数)
Microsoft.Kubernetes/connectedClusters 内存不足被终止的容器计数
Microsoft.MachineLearningServices/workspaces/onlineEndpoints 每分钟请求数
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments 部署容量
Microsoft.Maps/帐户 CreatorUsage
Microsoft.Media/mediaservices/streamingEndpoints EgressBandwidth
Microsoft.Network/applicationGateways 吞吐量
Microsoft.Network/azureFirewalls 吞吐量
Microsoft.Network/expressRouteGateways ExpressRouteGateway数据包每秒传输量
Microsoft.Network/expressRouteGateways ExpressRoute网关在虚拟网络中的虚拟机数量
Microsoft.Network/expressRouteGateways ExpressRouteGatewayFrequencyOfRoutesChanged (ExpressRoute 网关路由变动频率)
Microsoft.Network/virtualNetworkGateways ExpressRoute网关比特每秒
Microsoft.Network/virtualNetworkGateways ExpressRouteGateway数据包每秒传输量
Microsoft.Network/virtualNetworkGateways ExpressRoute网关在虚拟网络中的虚拟机数量
Microsoft.Network/virtualNetworkGateways ExpressRouteGatewayFrequencyOfRoutesChanged (ExpressRoute 网关路由变动频率)
Microsoft.ServiceBus/命名空间 队列/主题中的活动消息计数。 (ActiveMessages)
Microsoft.ServiceBus/命名空间 队列/主题中的死信消息计数(DeadletteredMessages)
Microsoft.ServiceBus/命名空间 队列/主题中的消息计数(消息)
Microsoft.ServiceBus/命名空间 队列/主题中的计划消息计数(ScheduledMessages)
Microsoft.ServiceBus/命名空间 CPU (NamespaceCpuUsage)
Microsoft.ServiceBus/命名空间 内存使用情况(NamespaceMemoryUsage)
Microsoft.ServiceBus/命名空间 大小
Microsoft.ServiceFabricMesh/applications 分配的CPU
Microsoft.ServiceFabricMesh/applications 分配的内存
Microsoft.ServiceFabricMesh/applications ActualCpu
Microsoft.ServiceFabricMesh/applications ActualMemory
Microsoft.ServiceFabricMesh/applications 应用状态
Microsoft.ServiceFabricMesh/applications 服务状态
Microsoft.ServiceFabricMesh/applications ServiceReplicaStatus
Microsoft.ServiceFabricMesh/applications ContainerStatus
Microsoft.ServiceFabricMesh/applications 重启次数
Microsoft.Storage/storageAccounts 已用容量
Microsoft.Storage/storageAccounts/blobServices BlobCapacity
Microsoft.Storage/storageAccounts/blobServices BlobCount
Microsoft.Storage/storageAccounts/blobServices Blob 配置大小
Microsoft.Storage/storageAccounts/blobServices 索引容量
Microsoft.Storage/storageAccounts/fileServices 文件容量
Microsoft.Storage/storageAccounts/fileServices 文件计数
Microsoft.Storage/storageAccounts/fileServices FileShareCount
Microsoft.Storage/storageAccounts/fileServices 文件共享快照计数
Microsoft.Storage/storageAccounts/fileServices 文件共享快照大小
Microsoft.Storage/storageAccounts/fileServices FileShareCapacityQuota
Microsoft.Storage/storageAccounts/fileServices 文件共享预配置IOPS

创建具有动态阈值的日志搜索警报规则(预览版)

若要配置动态阈值,请遵循创建警报规则的过程。 在“条件”选项卡上使用这些设置:

  • 使用与静态阈值相同的方式配置查询、度量和维度。
  • 对于阈值,请选择“动态”。
  • 选择“预览图表”以查看历史查询结果以及计算的动态阈值,帮助你直观显示阈值如何适应正常模式以及潜在警报的触发位置。
  • 在条件选项卡中进行任何更改后,选择“刷新图表”以查看更新后的预览。

显示“刷新图表”链接位置的 UI 的屏幕截图。

注意

具有动态阈值的日志搜索警报规则不支持 1 分钟的频率。

动态阈值预览图表

下图显示了日志警报规则查询结果的值、其动态阈值限制、阈值冲突,以及该值超出允许阈值时触发的警报。 在此场景中,触发警报所需的违规数为 2。

日志警报规则查询结果的屏幕截图、其动态阈值限制、阈值冲突和在值超出允许阈值时触发的警报。

  • 蓝线:查询结果的测量值随时间变化。
  • 紫色阴影区域:计算的动态阈值范围。 查询结果的允许值范围。 如果值保持在此范围内,则不会触发任何警报。
  • 红点:红点表示违规 - 评估结果达到了阈值。
  • 粉红条:表示触发的日志搜索警报。

注意

为了确保预览图表的性能,我们对返回的数据点数和显示的时间范围实施限制,并根据警报规则的频率调整允许的时间范围。 5 分钟的频率支持 6 小时。 10-15 分钟的频率支持 6 和 12 小时。 30 分钟的频率支持 6、12 小时和 1 天。 1 小时或更频繁的频率支持 6 和 12 小时以及 1 天和 2 天。

动态阈值敏感度的已知问题

  • 如果使用动态阈值的警报规则出现过多干扰或触发次数过多,则可能需要降低其敏感度。 使用以下选项之一:

    • 阈值敏感度:将敏感度设置为“低”,以便降低对偏差的敏感度
    • 回溯期 (对于指标警报规则)或 聚合粒度 (对于日志搜索警报规则) - 增加数据窗口会使规则更容易受到暂时性偏差的影响。
    • 冲突数(位于“高级设置”下):将预警规则配置为仅在某个时间段内出现一定数量的偏差时才触发。 这设置使规则不易受到暂时性偏差的影响。
  • 你可能会发现,使用动态阈值的警报规则未触发或不够敏感,即使该规则配置了高敏感度。 当指标或查询结果的分布非常不规则时,可能会出现这种情况。 考虑以下解决方案之一:

    • 切换到监控适合您场景的补充指标或日志查询(如果适用)。 例如,检查成功率的变化情况,而非失败率。
    • 尝试选择不同的“聚合粒度(周期)”值。
    • 检查过去 10 天内数据行为是否发生了重大更改,例如中断。 突然变化可能会影响为数据计算的上限和下限阈值,并扩大这些阈值。 等待几天,直到阈值计算中不再包含该中断。 如果使用指标警报规则,还可以编辑警报规则以使用高级设置中的"忽略此时间前的数据"选项。
    • 如果数据具有每周季节性,但没有足够的历史记录可用,则计算的阈值可能会导致大范围的上下限。 例如,系统在计算时会以相同的方式处理工作日和周末,并生成不会始终适合数据的宽阈值边界。 在指标或日志查询历史记录中有足够的结果可用后,此问题应自行解决。 然后,Azure Monitor 会检测正确的季节性并相应地更新计算的阈值。
  • 当数据出现较大波动时,动态阈值可能会根据数据值灵活调整范围,这可能会导致上下边界低于或高于预期。 在以下条件下可能出现此情况:

    • 敏感度设置为低。
    • 指标或查询结果显示了具有高方差的不规则行为,该行为在数据中显示为峰值或下降。

    考虑通过选择更高的敏感度或选择更大的“回溯时间段”值来降低模型的敏感度。

    在指标警报规则中,还可以在选项 之前使用“忽略数据 ”从用于生成模型的历史数据中排除最近的不规则性。

如果你有关于动态阈值的反馈,请向我们发送电子邮件