你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:使用 Bicep 文件创建有关服务通知的活动日志警报

本文演示如何使用 Bicep 文件设置活动日志警报,用于通知服务运行状况。

Bicep 是一种特定于域的语言 (DSL),使用声明性语法来部署 Azure 资源。 它提供简明的语法、可靠的类型安全性以及对代码重用的支持。 Bicep 会针对你的 Azure 基础结构即代码解决方案提供最佳创作体验。

服务运行状况通知存储在 Azure 活动日志中。 鉴于活动日志中存储的信息量可能很大,因此有一个单独的用户界面,以便更轻松地查看和设置有关服务运行状况通知的警报。

当 Azure 将服务运行状况通知发送到 Azure 订阅时,可以收到警报。 可以基于以下内容配置警报:

  • 服务运行状况通知的类别(服务问题、计划内维护、运行状况公告)。
  • 受影响的订阅。
  • 受影响的服务。
  • 受影响的区域。

注意

服务运行状况通知不会发送有关资源运行状况事件的警报。

还可以配置向其发送警报的人员:

  • 选择现有操作组。
  • 创建新操作组(可以用于将来的警报)。

若要了解有关操作组的详细信息,请参阅创建和管理操作组

先决条件

查阅 Bicep 文件

以下 Bicep 文件将创建以电子邮件为目标的操作组,并为目标订阅启用所有服务运行状况通知。 将此 Bicep 保存为 CreateServiceHealthAlert.bicep。

param actionGroups_name string = 'SubHealth'
param activityLogAlerts_name string = 'ServiceHealthActivityLogAlert'
param emailAddress string

var alertScope = '/subscriptions/${subscription().subscriptionId}'

resource actionGroups_name_resource 'microsoft.insights/actionGroups@2019-06-01' = {
  name: actionGroups_name
  location: 'Global'
  properties: {
    groupShortName: actionGroups_name
    enabled: true
    emailReceivers: [
      {
        name: actionGroups_name
        emailAddress: emailAddress
      }
    ]
    smsReceivers: []
    webhookReceivers: []
  }
}

resource activityLogAlerts_name_resource 'microsoft.insights/activityLogAlerts@2017-04-01' = {
  name: activityLogAlerts_name
  location: 'Global'
  properties: {
    scopes: [
      alertScope
    ]
    condition: {
      allOf: [
        {
          field: 'category'
          equals: 'ServiceHealth'
        }
        {
          field: 'properties.incidentType'
          equals: 'Incident'
        }
      ]
    }
    actions: {
      actionGroups: [
        {
          actionGroupId: actionGroups_name_resource.id
          webhookProperties: {}
        }
      ]
    }
    enabled: true
  }
}

Bicep 文件定义两个资源:

部署 Bicep 文件

使用 Azure CLI 和 Azure PowerShell 来部署该 Bicep 文件。 将“资源组”和“emailAddress”的示例值替换为环境的相应值 。

az login
az deployment group create --name CreateServiceHealthAlert --resource-group my-resource-group --template-file CreateServiceHealthAlert.bicep --parameters emailAddress='user@contoso.com'

验证部署

验证是否已使用以下命令之一创建工作区。 将“资源组”的示例值替换为上面使用的值。

az monitor activity-log alert show --resource-group my-resource-group --name ServiceHealthActivityLogAlert

清理资源

如果打算继续使用后续的快速入门和教程,则可能需要保留这些资源。 如果不再需要资源组,可以将其删除,这将删除警报规则和相关的资源。 使用 Azure CLI 或 Azure PowerShell 删除资源组

az group delete --name my-resource-group

后续步骤