共用方式為

创建和配置资源运行状况警报

本文介绍如何使用 Azure 门户、Azure PowerShell、Azure 资源管理器 (ARM) 模板和 Azure CLI 创建和配置 Azure 资源运行状况警报。

当 Azure 资源出现运行状况更改(例如变得不可用或降级)时,资源运行状况警报会通知你。 这些警报可帮助你随时了解情况并快速响应影响工作负荷的服务问题。

在服务运行状况门户中创建资源运行状况警报规则

  1. 在 Azure 门户中,选择“服务运行状况”。

“服务运行状况”选项的屏幕截图。

  1. 选择“资源运行状况”。

“资源运行状况”选项的屏幕截图。

  1. 选择“添加资源运行状况警报”。

资源运行状况创建选项的屏幕截图。

“创建警报规则”向导将打开“条件”选项卡,其中已填充“作用域”选项卡。

“资源运行状况范围”选项卡的屏幕截图。

  1. 按照以下步骤,从条件选项卡开始,在警报规则向导中创建资源健康警报。

“资源运行状况条件”选项卡的屏幕截图。

使用 PowerShell 创建资源运行状况警报

注意

建议使用 Azure Az PowerShell 模块与 Azure 交互。 若要开始,请参阅安装 Azure PowerShell。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

要按本页中的说明操作,需事先进行几项设置:

  1. 需安装 Azure PowerShell 模块
  2. 需要创建或重用配置为向你发出通知的操作组

PowerShell 的说明

  1. 使用 PowerShell 使用帐户登录到 Azure,然后选择要使用的订阅。

    Connect-AzAccount -Environment AzureChinaCloud
    Select-AzSubscription -Subscription <subscriptionId>
    

    注意

    可以使用 Get-AzSubscription 列出有权访问的订阅。

  2. 查找并保存操作组的完整 Azure 资源管理器 ID。

    (Get-AzActionGroup -ResourceGroupName <resourceGroup> -Name <actionGroup>).Id
    
  3. 创建并保存用于资源健康警报的 ARM 模板 resourcehealthalert.json请参阅详细信息

  4. 使用该模板创建一个新的 Azure 资源管理器部署。

    New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName <resourceGroup> -TemplateFile <path\to\resourcehealthalert.json>
    
  5. 系统会提示你键入之前复制的警报名称和操作组资源 ID:

    Supply values for the following parameters:
    (Type !? for Help.)
    activityLogAlertName: <Alert Name>
    actionGroupResourceId: /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/microsoft.insights/actionGroups/<actionGroup>
    
  6. 如果一切正常,PowerShell 中会显示一条确认消息

    DeploymentName          : ExampleDeployment
    ResourceGroupName       : <resourceGroup>
    ProvisioningState       : Succeeded
    Timestamp               : 11/8/2017 2:32:00 AM
    Mode                    : Incremental
    TemplateLink            :
    Parameters              :
                            Name                     Type       Value
                            ===============          =========  ==========
                            activityLogAlertName     String     <Alert Name>
                            activityLogAlertEnabled  Bool       True
                            actionGroupResourceId    String     /...
    
    Outputs                 :
    DeploymentDebugLogLevel :
    

注意

如果计划完全自动化此过程,只需编辑 ARM 模板即可不提示步骤 5 中的值。

使用模板选项创建资源运行状况警报

可将此基本模板用作创建资源运行状况警报的起点。 此模板按书面方式工作,并注册,以接收订阅中所有资源中所有新激活的资源运行状况事件的警报。

注意

资源运行状况警报模板是一个更复杂的警报模板,与此模板相比,该模板应增加资源运行状况警报的信号与噪音比率。

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "activityLogAlertName": {
      "type": "string",
      "metadata": {
        "description": "Unique name (within the Resource Group) for the Activity log alert."
      }
    },
    "actionGroupResourceId": {
      "type": "string",
      "metadata": {
        "description": "Resource Id for the Action group."
      }
    }
  },
  "resources": [   
    {
      "type": "Microsoft.Insights/activityLogAlerts",
      "apiVersion": "2017-04-01",
      "name": "[parameters('activityLogAlertName')]",      
      "location": "Global",
      "properties": {
        "enabled": true,
        "scopes": [
            "[subscription().id]"
        ],        
        "condition": {
          "allOf": [
            {
              "field": "category",
              "equals": "ResourceHealth"
            },
            {
              "field": "status",
              "equals": "Active"
            }
          ]
        },
        "actions": {
          "actionGroups":
          [
            {
              "actionGroupId": "[parameters('actionGroupResourceId')]"
            }
          ]
        }
      }
    }
  ]
}

但是,不建议使用像这样的广泛警报。 了解如何将本警报的范围精细调整为关注我们关心的事件。

后续步骤

了解有关资源运行状况的详细信息:

创建服务运行状况警报: