创建或编辑指标警报规则

本文介绍如何创建新的指标警报规则或编辑现有指标警报规则。 若要详细了解警报,请参阅警报概述

可以通过合并要监视的资源、来自资源的监视数据以及要触发警报的条件来创建警报规则。 然后,可以定义操作组警报处理规则以确定触发警报时会发生的情况。

可以定义这些警报规则触发的警报中包含的有效负载。 它们可以包含使用常见警报架构的有效负载,也可以包含使用每个警报类型的单独架构的有效负载,但不太建议使用第二种方法。

先决条件

若要创建指标预警规则,你必须具有以下权限:

  • 对预警规则的目标资源的读取权限。
  • 对在其中创建预警规则的资源组的写入权限。 如果从 Azure 门户中创建预警规则,则默认在目标资源所在的同一资源组中创建预警规则。
  • 对关联到预警规则的任何操作组的读取权限(如果适用)。

从门户主页创建或编辑警报规则

执行以下步骤:

  1. 门户中,选择“监视”>“警报”。

  2. 打开“+ 创建”菜单,然后选择“警报规则”。

    显示创建新警报规则的步骤的屏幕截图。

从特定资源创建或编辑警报规则

执行以下步骤:

  1. 门户中,导航到资源。

  2. 从左窗格中选择“警报”,然后选择“+ 创建”>“警报规则”。

  3. 预警规则的范围设置为所选资源。 继续设置预警规则的条件。

    显示从所选资源创建新警报规则的步骤的屏幕截图。

编辑现有警报规则

执行以下步骤:

  1. 门户的主页或特定资源,从左窗格中选择“警报”。

  2. 选择“警报规则”。

  3. 选择要编辑的警报规则,然后选择“编辑”。

    显示编辑警报规则的步骤的屏幕截图。

  4. 选择警报规则的任一选项卡以编辑设置。

配置警报规则的范围

执行以下步骤:

  1. 在“选择资源”窗格中,设置警报规则的范围。 可以按订阅、资源类型或资源位置进行筛选。

  2. 选择“应用”。

    显示用于新建警报规则的选择资源窗格的屏幕截图。

配置警报规则条件

执行以下步骤:

  1. 当在“条件”选项卡上,选择“信号名称”字段时,最常用的信号将显示在下拉列表中。 从这些常用信号中选择一个,或者如果要为条件选择其他信号,请选择“查看所有信号”。

    显示创建警报规则时的常见信号的屏幕截图。

  2. (可选)如果在上一步中选择了“查看所有信号”,请使用“选择信号”窗格搜索信号名称或筛选信号列表。 筛选依据:

    下表描述了可用于指标警报规则的服务:

    信号源 说明
    平台 对于指标信号,监视服务是指标命名空间。 “平台”表示指标由资源提供程序(即“Azure”)提供。
    Azure.ApplicationInsights 客户报告的指标,由 Application Insights SDK 发送。
    Azure.VM.Windows.GuestMetrics VM 来宾指标,由 VM 上运行的扩展收集。 可以包括内置操作系统性能计数器和自定义性能计数器。
    <自定义命名空间> 自定义指标命名空间,包含使用 Azure Monitor 指标 API 发送的自定义指标。

    选择“信号名称”和“应用”。

  3. 在“预览”部分预览所选指标信号的结果。 选择以下字段的值。

    字段 说明
    时间范围 要包含在结果中的对象的时间范围。 可以是从过去 6 小时到上周。
    时序 要包含在结果中的对象的时序。
  4. 在“警报逻辑”部分中:

    字段 说明
    阈值 选择是否应根据静态值或动态值评估阈值。
    静态阈值使用配置的阈值来评估规则。
    动态阈值使用机器学习算法持续了解指标行为模式,并计算意外行为的相应阈值。 可以详细了解如何对指标警报使用动态阈值
    运算符 选择用于将指标值与阈值进行比较的运算符。
    如果你使用的是动态阈值,则预警规则可以根据同一预警规则中上限和下限的指标行为使用定制的阈值。 选择以下运算符之一:
    - 大于阈值上限或低于阈值下限(默认值)
    - 大于阈值上限
    - 低于阈值下限
    聚合类型 选择要应用于数据点的聚合函数:Sum、Count、Average、Min 或 Max。
    阈值 如果选择了“静态”阈值,请输入条件逻辑的阈值。
    计价单位 如果所选指标信号支持不同的单位(例如字节、KB、MB 和 GB),并且如果选择了“静态”阈值,请输入条件逻辑的单位。
    阈值敏感度 如果选择了“动态”阈值,请输入敏感度级别。 敏感度级别会影响触发警报所需的指标系列模式偏差量。
    - 高:阈值比较严格,与指标系列模式接近。 预警规则在偏差最小的情况下触发,因此会生成更多的警报。
    - 中:阈值不那么严格,更均衡。 相比高敏感度(默认设置),警报数量更少。
    - 低:阈值宽松,允许与指标系列模式有更大的偏差。 只会在偏差较大的情况下触发预警规则,因此生成的警报较少。
  5. (可选)可以按维度配置拆分。

    维度是名称/值对,其中包含有关指标值的其他数据。 使用维度可以筛选指标并监视特定的时序,而不是监视所有维度值的聚合。

    如果你选择多个维度值,则由组合产生的每个时序将触发它自身的警报,并将单独收费。 例如,存储帐户的“事务”指标有一个名为 API 名称维度,它包含每个事务调用的 API 的名称(例如,GetBlob、DeleteBlob 和 PutPage)。 可以选择当特定 API(即聚合数据)中存在大量事务时触发警报。 或者,你可以使用维度仅在特定 API 的事务数量较高时发出警报。

    字段 说明
    维度名称 维度可以是数字列或字符串列。 维度用于监视特定的时序,并提供触发的警报的上下文。
    对“Azure 资源 ID”列进行拆分会使指定的资源进入警报目标。 如果已检测到,则“ResourceID”列将自动选中,并将触发的警报的上下文更改为记录的资源。
    运算符 对维度名称和值使用的运算符。
    维度值 维度值基于过去 48 小时的数据。 选择“添加自定义值”以添加自定义维度值。
    包括所有未来值 选择此字段可包含添加到所选维度的所有未来值。
  6. 在“何时评估”部分:

    字段 说明
    检查间隔 选择预警规则检查条件是否满足的频率。
    回溯期间 选择每次检查数据时要回溯多远。 例如,每隔 1 分钟查看过去的 5 分钟。
  7. (可选)如果使用动态阈值,那么在“高级选项”部分中,你可以指定在特定时间段内有多少次失败会触发警报。 例如,你可以指定只有在过去一小时发生了 3 次失败的情况下才触发警报。 应用程序业务策略应确定此设置。

    选择以下字段的值:

    字段 说明
    违规次数 在配置的时间范围内触发警报的违规次数。
    评估期 发生冲突的时间段。
    忽略此前的数据 使用此设置可选择开始使用指标历史数据计算动态阈值的日期。 例如,如果资源过去在测试模式下运行,现在移至生产模式,你可能希望在资源处于测试状态时忽略指标行为。
  8. 选择“完成” 。 配置预警规则条件后,可以配置预警规则详细信息以完成警报的创建,也可以选择将操作和标记添加到预警规则。

配置警报规则操作

(可选)按照以下步骤将操作添加到预警规则:

  1. 选择“操作”选项卡。

  2. 选择或创建所需的操作组

    显示创建新警报规则时操作选项卡的屏幕截图。

配置警报规则详细信息

执行以下步骤:

  1. 在“详细信息”选项卡中,定义“项目详细信息”。

    • 选择“订阅”。
    • 选择“资源组”。
  2. 定义“警报规则详细信息”。

    显示创建新警报规则时详细信息选项卡的屏幕截图。

  3. 选择“严重性”。

  4. 输入“警报规则名称”和“警报规则说明”的值。

  5. (可选)“高级选项”部分中,可以设置多个选项。

    字段 说明
    创建时启用 选择警报规则,以便在创建警报规则后立即开始运行。
    自动解决警报 选择此项可使警报成为有状态警报。 如果警报为有状态的警报,当不再满足条件时,将解决警报。
    如果未选中此复选框,则指标警报为无状态警报。 每次满足条件时都会触发无状态警报,即使已触发过警报。
    无状态指标警报的通知频率因警报规则的配置频率而异:
    警报频率小于 5 分钟:当继续满足条件时,将在 1 到 6 分钟之间发送通知。
    警报频率超过 5 分钟:当继续满足条件时,将在配置的频率到两倍于该频率值之间发送通知。 例如,对于频率为 15 分钟的警报规则,将在 15 到 30 分钟之间发送通知。
  6. (可选)在“自定义属性”部分,如果此警报规则包含操作组,则可以添加自己的属性以包含在警报通知有效负载中。 可以在操作组调用的操作(例如 Webhook、Azure 函数或逻辑应用操作)中使用这些属性。

    使用静态文本、从警报有效负载中提取的动态值或两者的组合,将自定义属性指定为键/值对。

    用于从警报有效负载中提取动态值的格式为:${<path to schema field>}。 例如:${data.essentials.monitorCondition}

    使用通用警报架构的格式指定有效负载中的字段,无论为警报规则配置的操作组是否使用通用架构。

    注意

    • 自定义属性会添加到警报的有效负载中,但它们不会显示在电子邮件模板或 Azure 门户中的警报详细信息中。

    屏幕截图显示了用于创建新警报规则的自定义属性。

    以下示例使用了“自定义属性”中的值来利用有效负载中的数据,该有效负载使用常见警报架构。

    此示例会创建一个“更多详细信息”标记,其中包含有关“窗口开始时间”和“窗口结束时间”的数据:

    • 名称:Additional Details
    • 值:Evaluation windowStartTime: ${data.alertContext.condition.windowStartTime}. windowEndTime: ${data.alertContext.condition.windowEndTime}
    • 结果:AdditionalDetails:Evaluation windowStartTime: 2023-04-04T14:39:24.492Z. windowEndTime: 2023-04-04T14:44:24.492Z

    此示例添加了有关解析或触发警报的原因的数据:

    • 名称:Alert ${data.essentials.monitorCondition} reason
    • 值:${data.alertContext.condition.allOf[0].metricName} ${data.alertContext.condition.allOf[0].operator} ${data.alertContext.condition.allOf[0].threshold} ${data.essentials.monitorCondition}. The value is ${data.alertContext.condition.allOf[0].metricValue}
    • 潜在结果:
      • Alert Resolved reason: Percentage CPU GreaterThan5 Resolved. The value is 3.585
      • Alert Fired reason": "Percentage CPU GreaterThan5 Fired. The value is 10.585
  7. 配置范围、条件和详细信息后,可以随时选择“查看 + 创建”按钮

配置警报规则标签

(可选)按照以下步骤将标记添加到预警规则:

  1. 选择“标记”选项卡。

  2. 在预警规则资源上设置任何必需的标记。

    显示创建新警报规则时“标记”选项卡的屏幕截图。

查看并创建警报规则

执行以下步骤:

  1. 在“审核 + 创建”选项卡中,将验证该规则并告知所有问题。

  2. 通过验证并查看设置后,选择“创建”按钮。

    显示创建新警报规则时评价和创建选项卡的屏幕截图。

指标警报规则的命名限制

请考虑对指标警报规则名称的以下限制:

  • 指标预警规则名称在创建后无法更改(重命名)。
  • 指标预警规则名称在资源组中必须是唯一的。
  • 指标警报规则名称不能包含以下字符:* # & + : <> ? @ % { } \ /
  • 指标预警规则名称不能以空格或句点结尾。
  • 合并的资源组名称和预警规则名称不能超过 252 个字符。

注意

如果预警规则名称包含不是字母或数字的字符(例如空格、标点符号或符号),则在某些客户端检索这些字符时,可能会对这些字符进行 URL 编码。

在具有多个条件的指标预警规则中使用维度时存在限制

指标警报支持根据多维指标发出警报,并支持定义多个条件(每个预警规则最多可定义 5 个条件)。

在包含多个条件的预警规则中使用维度时,请考虑以下约束:

  • 在每个条件中,只能为每个维度选择一个值。

  • 不能使用选项“选择所有当前值和未来值”。 选择星号 (*)。

  • 不能在监视多个条件的警报规则中使用动态阈值。

  • 如果在不同条件中配置的指标支持同一维度,则必须以相同方式在相关条件下为所有这些指标显式设置配置的维度值。

    例如:

    • 请考虑在存储帐户上定义的一个指标警报规则,该警报规则监视两个条件:
      • 事务总数 > 5
      • 平均 SuccessE2ELatency > 250 毫秒
    • 你想更新第一个条件,并且仅监视 ApiName 维度等于 "GetBlob" 的事务。
    • 由于“事务数”和 SuccessE2ELatency 指标都支持 ApiName 维度,你需要更新这两个条件,并将它们的 ApiName 维度都指定为 "GetBlob" 值。

Considerations when creating an alert rule that contains multiple criteria

  • You can only select one value per dimension within each criterion.
  • You can't use an asterisk (*) as a dimension value.
  • When metrics that are configured in different criteria support the same dimension, a configured dimension value must be explicitly set in the same way for all those metrics. For a Resource Manager template example, see Create a metric alert with a Resource Manager template.