切换到用于 Azure 备份的基于 Azure Monitor 的警报

本文介绍如何切换到基于 Azure Monitor 的 Azure 备份警报。

Azure 备份现在通过 Azure Monitor 提供新的和改进的警报功能。 如果使用恢复服务保管库的较旧经典警报解决方案,建议迁移到 Azure Monitor 警报。

Azure Monitor 警报的主要优势

  • “配置通知为各种通知通道”:Azure Monitor 支持各种通知通道,如电子邮件、Webhook、逻辑应用等。 可以将用于备份警报的通知配置为这些通道中的任何一个,而无需花费大量时间创建自定义集成。

  • 为选择性的情形启用通知:使用 Azure Monitor 警报可以选择要进行通知的相关情形。 此外,可以为测试订阅启用通知。

  • 通过备份中心大规模监视警报:除了使你可以从 Azure Monitor 仪表板管理警报外,Azure 备份还通过备份中心提供为备份定制的警报管理体验。 这使你可以按备份特定属性(例如工作负载类型、保管库位置等)来筛选警报,并快速了解需要注意的活动备份安全警报。

  • 以编程方式管理警报和通知:还可以使用 Azure Monitor 的 REST API 通过非门户客户端管理警报和通知。

  • 适用于多个 Azure 服务(包括备份)的一致警报管理:Azure Monitor 是用于在 Azure 中监视资源的本机服务。 借助 Azure 备份与 Azure Monitor 的集成,可以采用与其他 Azure 服务的警报相同的方式管理备份警报,而无需单独学习。

支持的警报解决方案

Azure 备份现在支持不同类型的基于 Azure Monitor 的警报解决方案。 可以基于特定要求任意组合使用这些解决方案。

下表列出了其中一些解决方案:

Alert 说明
内置 Azure Monitor 警报 Azure 备份针对某些默认方案自动生成内置警报,例如删除备份数据、禁用软删除、备份失败、还原失败等。 可以通过备份中心查看这些现成警报。 若要为这些警报配置通知(例如电子邮件),可以使用 Azure Monitor 的警报处理规则和操作组将警报路由到各种通知通道。
指标警报 可以使用 Azure Monitor 指标编写自定义警报规则,以监视不同 KPI 中的备份项的运行状况。
日志警报 如果在你的方案中需要根据自定义逻辑生成警报,你可以对此类方案使用基于 Log Analytics 的警报,前提是你已将保管库配置为向 Log Analytics (LA) 工作区发送诊断数据。

详细了解 Azure 备份支持的监视解决方案

从经典警报迁移到内置 Azure Monitor 警报

在不同的基于 Azure Monitor 的警报解决方案中,内置 Azure Monitor 警报在用户体验和功能方面最接近经典警报。 因此,若要快速从经典警报切换到 Azure Monitor,可以使用内置 Azure Monitor 警报。

下表列出了经典备份警报与用于备份的内置 Azure Monitor 警报之间的差异:

操作 经典警报 内置 Azure Monitor 警报
设置通知 - 必须为每个恢复服务保管库启用配置通知功能,以及应向其发送通知的电子邮件 ID。

- 对于某些破坏性操作,无论保管库的通知设置如何,电子邮件通知都会发送到订阅所有者、管理员和共同管理员。
- 通过创建警报处理规则来配置通知。

- 虽然默认情况下会生成警报,并且无法针对破坏性操作关闭警报,但通知处于用户控制之下,使你可以清楚地指定要将警报路由到的电子邮件地址集(或其他通知终结点)。
用于数据库备份方案的通知抑制 当相同数据库由于相同错误代码而发生多次失败时,会生成单个警报(以及为每种失败类型更新的出现次数计数),并且仅在停用原始警报时才会生成新警报。 行为当前有所不同。 此处会为每个备份失败生成单独的警报。 如果某个已知项存在备份失败的时间窗口(例如,在维护时段期间),则可以创建抑制规则,以在给定时间段内抑制该备份项的电子邮件干扰。
定价 此解决方案没有额外费用。 系统会默认生成关键操作/失败警报(可以在 Azure 门户中或通过非门户界面查看),无需额外费用。 但是,若要将这些警报路由到通知通道(例如电子邮件),对于超出免费层(每月 1000 封电子邮件)的通知,将产生少量通知费用。 详细了解 Azure Monitor 定价

注意

  • 如果现有的自定义 Azure Resource Graph (ARG) 查询是基于经典警报数据编写的,则需要更新这些查询以从基于 Azure Monitor 的警报中提取信息。 可以使用 ARG 中的 AlertsManagementResources 表来查询 Azure Monitor 警报数据。
  • 如果通过诊断设置将经典警报发送到 Log Analytics 工作区/存储帐户/事件中心,则还需要更新这些自动化。 要将触发的基于 Azure Monitor 的警报发送到所选目标,可以创建警报处理规则和操作组,以将这些警报路由到逻辑应用、Webhook 或 Runbook,再由后者将这些警报发送到所需的目标。

Azure 备份现在通过备份中心提供引导式体验,让你只需进行几次选择即可切换到内置 Azure Monitor 警报和通知。 若要执行此操作,需要具有订阅的备份参与者和监视参与者 Azure 基于角色的访问控制 (Azure RBAC) 角色。

请执行下列步骤:

  1. 在 Azure 门户中,转到“备份中心”->“概述”。

    显示备份中心的“概述”选项卡的屏幕截图。

  2. 在“警报”磁贴上,会出现仍启用了经典警报的保管库计数。

    选择用于执行所需操作的链接。

    显示启用了经典警报的保管库数的屏幕截图。

    在下一个屏幕上,有两个建议操作:

    • 创建规则:此操作会创建附加到操作组的警报处理规则,使你能够接收 Azure Monitor 警报的通知。 选择后,它会引导你获得模板部署体验。

      显示恢复服务保管库的建议警报迁移操作“创建规则”的屏幕截图。

      可以通过此模板部署两个资源:

    • 警报处理规则:指定要路由到每个通知通道的警报类型的规则。 此模板在创建规则的订阅中的所有恢复服务保管库上部署跨越所有基于 Azure Monitor 的警报的警报处理规则。

    • 操作组:应向其发送警报的通知通道。 此模板部署电子邮件操作组,以便警报路由到部署模板时指定的电子邮件 ID。

    若要修改这些参数中的任何一个(例如警报处理规则的范围或通知通道的选择),可以在创建后编辑这些资源,也可以通过 Azure 门户从头开始创建警报处理规则和操作组

  3. 输入应在其中创建警报处理规则和操作组的订阅、资源组和区域。 另请指定应向其发送通知的电子邮件 ID。 其他参数会填充默认值,仅当要自定义用于创建资源的名称和说明时才需要进行编辑。

    显示用于为 Azure Monitor 警报设置通知规则的模板参数的屏幕截图。

  4. 选择“查看+创建”以启动部署。

    部署后,会启用基于 Azure Monitor 的警报的通知。 如果有多个订阅,请重复以上过程,为每个订阅创建警报处理规则。

    显示 Azure Monitor 警报的通知规则部署的屏幕截图。

  5. 接下来,需要选择退出经典警报,以避免从两个解决方案接收重复警报。

    选择“管理警报”以查看当前启用经典警报的保管库。

    显示恢复服务保管库的建议警报迁移操作“管理警报”的屏幕截图。

  6. 选中“更新”->“仅使用 Azure Monitor 警报”复选框。

    这样做表示你同意仅通过 Azure Monitor 接收备份警报,会停止从较旧(经典警报)解决方案接收警报。

    显示如何选择退出保管库的经典警报的屏幕截图。

  7. 若要在页面上选择多个保管库并使用单个操作更新这些保管库的设置,请从顶部菜单中选择“更新”。

    显示如何选择退出多个保管库的经典警报的屏幕截图。

在计划内维护时段内抑制通知

对于某些情形,你可能希望在备份失败的特定时段内抑制通知。 这对于数据库备份尤其重要(其中进行日志备份的频率可能高达每 15 分钟一次),并且你不希望在每次发生失败时都每 15 分钟收到一个单独通知。 在这种情形下,可以创建第二个警报处理规则,该规则与用于发送通知的主要警报处理规则一起存在。 第二个警报处理规则将不会链接到操作组,但会用于指定应抑制的通知类型的时间。

默认情况下,抑制警报处理规则优先于其他警报处理规则。 如果单个触发的警报受这两种类型的不同警报处理规则影响,则会抑制该警报的操作组。

若要创建抑制警报处理规则,请执行以下步骤:

  1. 转到“备份中心”->“警报”,然后选择“警报处理规则”。

    显示门户中的警报处理规则边栏选项卡的屏幕截图。

  2. 选择“创建”。

    显示新警报处理规则创建的屏幕截图。

  3. 选择警报处理规则应跨越的“范围”,例如订阅或资源组。

    如果只想为特定备份项抑制通知,还可以选择更精细的筛选器。 例如,如果要抑制虚拟机 VM1testdb1 数据库的通知,则可以指定筛选器“其中警报上下文(有效负载)包含 /subscriptions/00000000-0000-0000-0000-0000000000000/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/VM1/providers/Microsoft.RecoveryServices/backupProtectedItem/SQLDataBase;MSSQLSERVER;testdb1”。

    若要获取所需备份项的所需格式,请参阅“警报详细信息”页中的 SourceId 字段。

    显示警报处理规则的指定范围的屏幕截图。

  4. 在“规则设置”下,选择“抑制通知”。

    显示警报处理规则设置的屏幕截图。

  5. 在“计划”下,选择要应用警报处理规则的时段。

    显示警报处理规则计划的屏幕截图。

  6. 在“详细信息”下,指定应在其下创建警报处理规则的订阅、资源组和名称。

    显示警报处理规则详细信息的屏幕截图。

  7. 选择“查看 + 创建”。

    如果抑制窗口是一次性方案,而不是定期进行,则可以在不再需要警报处理规则后禁用规则。 将来有新的维护时段后,可以再次启用它。

编程选项

还可以使用编程方法选择退出经典警报并管理 Azure Monitor 通知。

选择退出经典备份警报

在以下部分中,你将了解如何使用受支持的客户端选择退出经典备份警报解决方案。

使用 Azure 资源管理器 (ARM)/Bicep/ REST API/ Azure Policy

monitoringSettings 保管库属性可帮助你指定是否要禁用经典警报。 可以创建自定义 ARM/Bicep 模板或 Azure Policy 以便为保管库修改此设置。

保管库设置属性的以下示例显示,经典警报已禁用,并且已针对所有作业失败启用内置 Azure Monitor 警报。

{
   "monitoringSettings": {
      "classicAlertsForCriticalOperations": "Disabled",
      "azureMonitorAlertSettings": {
         "alertsForAllJobFailures": "Enabled"
      }
   }
}

使用 Azure PowerShell

若要修改保管库的警报设置,请使用 Update-AzRecoveryServicesVault 命令。

以下示例可帮助你针对作业失败启用内置 Azure Monitor 警报,并禁用经典警报:

Update-AzRecoveryServicesVault -ResourceGroupName testRG -Name testVault -DisableClassicAlerts $true -DisableAzureMonitorAlertsForJobFailure $false

使用 Azure CLI

若要修改保管库的警报设置,请使用 az backup vault backup-properties set 命令。

以下示例可帮助你启用针对作业失败的内置 Azure Monitor 警报,并禁用经典警报。

az backup vault backup-properties set \
	--name testVault \
	--resource-group testRG \
    --clasic-alerts  Disable \
    --alerts-for-job-failures Enable

为 Azure Monitor 警报设置通知

可以使用 Azure Monitor 支持的以下标准编程接口管理操作组和警报处理规则。

使用 Azure 资源管理器 (ARM)/Bicep/ REST API

可以使用示例 ARM 和 Bicep 模板创建与所选订阅中的所有恢复服务保管库关联的警报处理规则和操作组。

使用 Azure PowerShell

如前面部分所述,需要操作组(通知通道)和警报处理规则(通知规则)来配置保管库的通知。

若要配置通知,请运行以下 cmdlet:

  1. 使用 New-AzActionGroupReceiver cmdlet 和 Set-AzActionGroup cmdlet 创建与电子邮件 ID 关联的操作组。

    $email1 = New-AzActionGroupReceiver -Name 'user1' -EmailReceiver -EmailAddress 'user1@contoso.com'
    Set-AzActionGroup -Name "testActionGroup" -ResourceGroupName "testRG" -ShortName "testAG" -Receiver $email1
    
  2. 使用 Set-AzAlertProcessingRule cmdlet 创建链接到上述操作组的警报处理规则。

    Set-AzAlertProcessingRule -ResourceGroupName "testRG" -Name "AddActionGroupToSubscription" -Scope "/subscriptions/xxxx-xxx-xxxx" -FilterTargetResourceType "Equals:Microsoft.RecoveryServices/vaults" -Description "Add ActionGroup1 to alerts on all RS vaults in subscription" -Enabled "True" -AlertProcessingRuleType "AddActionGroups" -ActionGroupId "/subscriptions/xxxx-xxx-xxxx/resourcegroups/testRG/providers/microsoft.insights/actiongroups/testActionGroup"
    

使用 Azure CLI

如前面部分所述,需要操作组(通知通道)和警报处理规则(通知规则)来配置保管库的通知。

要配置相同的内容,请运行以下命令:

  1. 使用 az monitor action-group create 命令创建与电子邮件 ID 关联的操作组。

    az monitor action-group create --name testag1 --resource-group testRG --short-name testag1 --action email user1 user1@contoso.com --subscription "Backup PM Subscription"
    
  2. 使用 az monitor alert-processing-rule create 命令创建链接到上述操作组的警报处理规则。

    az monitor alert-processing-rule create \
    --name 'AddActionGroupToSubscription' \
    --rule-type AddActionGroups \
    --scopes "/subscriptions/xxxx-xxx-xxxx" \
    --filter-resource-type Equals "Microsoft.RecoveryServices/vaults"
    --action-groups "/subscriptions/xxxx-xxx-xxxx/resourcegroups/testRG/providers/microsoft.insights/actiongroups/testag1" \
    --enabled true \
    --resource-group testRG \
    --description "Add ActionGroup1 to all RS vault alerts in subscription"
    

后续步骤

详细了解 Azure 备份监视和报告