创建或编辑指标警报规则

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

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

您可以定义由这些警报规则触发的警报中包含哪些负载内容。 它们可以包含使用 通用警报架构 的负载,或者使用较不推荐的 针对每种警报类型的单独架构。

先决条件

在创建指标警报规则之前,请确保具有以下权限:

  • 警报规则目标资源上的读取权限(如 读取者)。
  • 读取与警报规则关联的任何作组的权限(如果适用)。
  • 在创建警报规则的资源组上写入权限(如 参与者)。 如果要从 Azure 门户创建警报规则,则默认在目标资源所在的同一资源组中创建警报规则。

通过 Azure Role-Based 访问控制 (RBAC) 管理这些权限。 有关详细信息,请参阅 Azure Monitor 中的角色、权限和安全性, 以及 使用 Azure 门户分配 Azure 角色。

注释

创建资源后,可能需要 10 到 15 分钟才能获取指标。

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

执行以下步骤:

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

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

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

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

执行以下步骤:

  1. 在 Azure 门户中,转到资源页面。

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

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

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

编辑现有警报规则

执行以下步骤:

  1. 在Azure 门户中,无论是在主页还是在特定资源中,都可从左侧窗格中选择警报。

  2. 选择 “警报规则”。

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

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

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

配置警报规则的作用域

执行以下步骤:

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

  2. 选择应用。

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

配置条件

执行以下步骤:

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

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

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

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

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

    选择 信号名称 并 应用。

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

    领域 Description
    时间范围 要包含在结果中的时间范围。 时间范围可以是从最近 6 小时到最近一周。
    时间序列 结果中要包含的时间序列。
  4. 在“警报逻辑”部分中:

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

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

    如果选择多个维度值,则组合产生的每个时序都会触发其自己的警报,并单独收费。 例如,存储帐户的事务指标可以具有一个 API 名称维度,其中包含每个事务调用的 API 的名称(例如 GetBlob、DeleteBlob 和 PutPage)。 可以选择在特定 API 中存在大量事务(聚合数据)时触发警报。 或者,您也可以使用维度,以便仅在特定 API 的事务数量较高时触发警报。

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

    领域 Description
    检查每个 选择警报规则检查条件是否满足的频率。
    回溯期 选择每次检查数据时要回溯多长时间。 例如,每隔 1 分钟,向前回溯 5 分钟。
  7. (可选)如果使用动态阈值,请在 “高级选项” 部分中指定特定时间段内多少次失败触发警报。 例如,可以指定仅当过去一小时内发生三次故障时触发警报。 应用程序业务策略应确定此设置。

    为以下字段选择值:

    领域 Description
    违规数量 触发警报的已配置时间段内的冲突数。
    评估期 发生违规次数的时间段。
    忽略此时间之前的数据 使用此设置可选择从哪个日期开始使用指标历史数据来计算动态阈值。 例如,如果资源在测试模式下运行,并且已移动到生产环境,则可能需要在测试资源时忽略指标行为。
  8. 选择“完成”。 配置警报规则条件后,可以配置警报规则详细信息以完成警报的创建。 (可选)还可以向警报规则添加操作和标记。

配置警报规则操作

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

  1. 选择操作选项卡。

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

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

配置告警规则详细信息

执行以下步骤:

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

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

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

  3. 选择 严重性。

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

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

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

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

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

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

    注释

    将自定义属性添加到发送到 webhook、逻辑应用、Azure Functions 和 Automation Runbook 操作的 JSON 有效负载中。 它们不包含在电子邮件、短信或推送通知中,也不会显示在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 编码。 示例包括空格、标点符号和符号。

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

指标警报支持针对多维指标发出警报,并支持定义多个条件,每个警报规则最多五个条件。

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

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

  • 不能使用 “选择所有当前值和未来值 ”选项(星号 *)。 必须显式指定每个维度值。

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

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

    例如:

    • 假设有一个在存储帐户上定义的指标警报规则,它监控两个条件:

      • 交易总数 Transactions> 5
      • 平均 SuccessE2ELatency 250 毫秒>
    • 你想要更新第一个条件,并且只监视 ApiName 维度相等 "GetBlob"的事务。

    • 由于事务和 SuccessE2ELatency 指标都支持 ApiName 维度,因此需要更新这两个条件,并让它们指定具有值的 "GetBlob" 维度。

后续步骤