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

快速入门:使用 ARM 模板创建有关服务通知的服务运行状况警报

本指南介绍如何使用 Azure 资源管理器 (ARM) 模板为服务运行状况通知设置服务运行状况警报。

Azure 资源管理器模板是定义项目基础结构和配置的 JavaScript 对象表示法 (JSON) 文件。 模板使用声明性语法。 你可以在不编写用于创建部署的编程命令序列的情况下,描述预期部署。

概述

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

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

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

注意

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

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

  • 选择现有操作组。
  • 创建一个新的动作组,以便用于未来的警报。

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

先决条件

1.查看模板

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

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "actionGroups_name": {
      "type": "string",
      "defaultValue": "SubHealth"
    },
    "activityLogAlerts_name": {
      "type": "string",
      "defaultValue": "ServiceHealthActivityLogAlert"
    },
    "emailAddress": {
      "type": "string"
    }
  },
  "variables": {
    "alertScope": "[format('/subscriptions/{0}', subscription().subscriptionId)]"
  },
  "resources": [
    {
      "type": "microsoft.insights/actionGroups",
      "apiVersion": "2019-06-01",
      "name": "[parameters('actionGroups_name')]",
      "___location": "Global",
      "properties": {
        "groupShortName": "[parameters('actionGroups_name')]",
        "enabled": true,
        "emailReceivers": [
          {
            "name": "[parameters('actionGroups_name')]",
            "emailAddress": "[parameters('emailAddress')]"
          }
        ],
        "smsReceivers": [],
        "webhookReceivers": []
      }
    },
    {
      "type": "microsoft.insights/activityLogAlerts",
      "apiVersion": "2017-04-01",
      "name": "[parameters('activityLogAlerts_name')]",
      "___location": "Global",
      "properties": {
        "scopes": [
          "[variables('alertScope')]"
        ],
        "condition": {
          "allOf": [
            {
              "field": "category",
              "equals": "ServiceHealth"
            },
            {
              "field": "properties.incidentType",
              "equals": "Incident"
            }
          ]
        },
        "actions": {
          "actionGroups": [
            {
              "actionGroupId": "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]",
              "webhookProperties": {}
            }
          ]
        },
        "enabled": true
      },
      "dependsOn": [
        "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]"
      ]
    }
  ]
}

该模板定义了两个资源:

2.部署模板

使用任何标准方法部署 ARM 模板。 可以使用以下示例来使用 CLI 和 PowerShell。

资源组emailAddress 的示例值替换为适合你的环境的值。

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

3.验证部署

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

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

4. 清理资源

如果打算继续使用后续的快速入门和教程,则可能需要保留这些资源。

不再需要资源组时,可以删除资源组,这会删除警报规则和相关资源。 使用此处所示的 Azure CLI 或 Azure PowerShell 命令删除资源组。

az group delete --name my-resource-group

后续步骤