用于 Azure Monitor 服务运行状况预警规则的资源管理器模板示例

本文包含用于在 Azure Monitor 中创建和配置服务运行状况警报的 Azure 资源管理器模板示例。

注意

有关可用示例的列表以及在 Azure 订阅中部署这些示例的指南,请参阅 Azure Monitor 的 Azure 资源管理器示例

用于创建服务运行状况预警规则的模板

以下模板创建一个服务运行状况预警规则,用于发送目标订阅的服务运行状况事件通知。 将此模板保存为 CreateServiceHealthAlert.json,并根据需要对其进行修改。

需要注意的要点:

  1. 服务运行状况预警规则的“范围”只能包含单个订阅,该订阅必须与在其中创建规则的订阅相同。 不支持使用多个订阅、一个资源组或其他类型的范围。
  2. 只能在“全局”位置创建服务运行状况预警规则。
  3. 规则条件中的“properties.incidentType”、“properties.impactedServices[].ServiceName”和“properties.impactedServices[].ImpactedRegions[*].RegionName”子句是可选的。 可以删除这些子句,这样就可以在出现分别针对所有事件类型、所有服务和/或所有区域发送事件的情况时收到通知。
  4. “properties.impactedServices[*].ServiceName”中使用的服务名称必须是有效的 Azure 服务名称。 可以在资源运行状况元数据列表 API 中检索有效名称的列表
{
  "$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": "2020-10-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"
            },
			{                     
			   "field": "properties.impactedServices[*].ServiceName",                     
			   "containsAny": [
                  "SQL Database",
                  "SQL Managed Instance"    
               ]                 
			},
            {                     
				"field": "properties.impactedServices[*].ImpactedRegions[*].RegionName",
                "containsAny": [
                   "China East 2"
                ]
            }
          ]
        },
        "actions": {
          "actionGroups": [
            {
              "actionGroupId": "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]",
              "webhookProperties": {}
            }
         ]
        },
        "enabled": true
      },
      "dependsOn": [
        "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]"
      ]
    }
  ]
}

后续步骤