在目标资源移动到其他 Azure 区域时更新警报规则或警报处理规则

本文介绍了当你在区域之间移动其他 Azure 资源时,为何现有的警报规则警报处理规则会受影响,以及如何识别和解决这些问题。 请查看主要的资源移动文档,详细了解何时需要在区域之间移动资源,以及用于设计移动过程的清单。

存在此问题的原因

警报规则和警报处理规则引用其他 Azure 资源。 示例包括 Azure VMAzure SQLAzure 存储。 当你移动这些规则所引用的资源时,这些规则可能会因为找不到其引用的资源而停止正常工作。

规则可能会在移动目标资源后停止工作的两个主要原因如下所述:

  • 你的规则的范围显式引用了旧资源。
  • 你的警报规则基于指标。

规则范围显式引用了旧资源

大多数情况下,当你移动资源时,其资源 ID 会发生更改。 在后台,系统会将该资源复制到新区域中,然后将其从旧区域中删除。 此过程要求两个资源以及两个不同的资源 ID 在一小段时间内同时存在。 由于资源 ID 必须是唯一的,因此在此过程中必须创建一个新 ID。

移动资源对现有规则有何影响?

警报规则和警报处理规则在应用到资源时有一个资源范围。 该范围可以是整个订阅、某个资源组或者一个或多个特定资源。 例如,下面是范围为两个资源(两个虚拟机)的一个规则:

Multi resource alert rule

如果规则范围显式提到了某个资源,而该资源已移动并更改了其资源 ID,则该规则会查找一个错误的或不存在的资源,因此会失败。

如何解决此问题?

更新或重新创建受影响的规则,使之指向新资源。 可以在本文的后面部分找到更新此范围的过程。

此问题影响这些规则类型:

  • 活动日志警报规则
  • 警报处理规则
  • 指标警报 - 有关详细信息,请参阅下一部分:基于指标的警报规则

注意

日志搜索警报规则和智能检测器警报规则不受影响,因为它们的范围是工作区或 Application Insights。 这两种范围当前都不支持区域移动。

基于指标的警报规则

Azure 资源发出的指标是区域性的。 每次将资源移到新区域时,它就会开始在该新区域中发出指标。 因此,需要更新或重新创建基于指标的任何警报规则,使其指向正确区域中的当前指标流。

此说明同时适用于指标警报规则可用性测试警报规则

如果移动了范围中的所有资源,则无需重新创建规则。 可以直接更新警报规则的任何字段(例如警报规则说明),然后将其保存。 如果仅移动了范围中的某些资源,则需要从现有规则中删除已移动的资源,并创建一个仅涵盖已移动资源的新规则。

解决问题的过程

从 Azure 门户中查明与已移动资源关联的规则

  • 对于警报规则 - 导航到“警报”>“管理警报规则”> 按包含项目的订阅和移动的资源进行筛选。

注意

活动日志警报规则不支持此过程。 无法更新活动日志预警规则的范围,也无法将其指向另一个订阅中的资源。 你可以改为创建新规则来替换旧规则。

  • 对于警报处理规则 - 导航到“警报”>“警报处理规则(预览版)”> 按包含项目的订阅和移动的资源进行筛选。

从 Azure 门户中更改规则的范围

  1. 以单击方式打开你在上一步中查明的规则。
  2. 在“资源”下,单击“编辑”并根据需要调整范围。
  3. 根据需要调整规则的其他属性。
  4. 单击“ 保存”。

Change alert rule scope

使用 Azure 资源管理器模板更改规则的范围

  1. 获取规则的 Azure 资源管理器模板。 若要从 Azure 门户导出规则的模板,请执行以下操作:
    1. 在门户中导航到“资源组”部分,打开包含该规则的资源组。
    2. 在“概览”部分中,选中“显示隐藏的类型”复选框,并按规则的相关类型进行筛选。
    3. 选择相关规则以查看其详细信息。
    4. 在“设置”下,选择“导出模板”。
  2. 修改模板。 如果需要,请将其拆分为两个规则(这适用于指标警报的某些案例,如上文所述)。
  3. 重新部署模板。

使用 REST API 更改规则的范围

  1. 获取现有规则(指标警报活动日志警报
  2. 修改范围(活动日志警报
  3. 重新部署规则(指标警报活动日志警报

使用 PowerShell 更改规则的范围

  1. 获取现有规则(指标警报活动日志警报警报处理规则)。
  2. 修改范围。 如果需要,请将其拆分为两个规则(这适用于指标警报的某些案例,如上文所述)。
  3. 重新部署规则(指标警报活动日志警报警报处理规则)。

使用 Azure CLI 更改规则的范围

  1. 获取现有规则(指标警报活动日志警报)。
  2. 直接更新规则范围(指标警报活动日志警报
  3. 如果需要,请将其拆分为两个规则(这适用于指标警报的某些案例,如上文所述)。

后续步骤

了解如何解决警报通知指标警报日志搜索警报的其他问题。