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

订阅运行状况资源事件并将这些事件发送到 Azure Monitor 警报(预览版)

Azure 事件网格中的运行状况资源系统主题为单实例虚拟机 (VM)、虚拟机规模集 VMS 和虚拟机规模集等 Azure 资源的运行状况提供准确、可靠且全面的信息。 此功能使用户能够更深入地了解影响资源的各种服务问题。 现在可以设置 Azure Monitor 警报,以在工作负载受到影响时收到通知。

先决条件

创建并配置事件订阅

  1. 导航到作为先决条件的一部分创建的事件网格系统主题。

  2. 在命令栏上选择“+ 事件订阅”。

    显示“系统主题”页的屏幕截图,其中已选中“创建订阅”按钮。

  3. 输入事件订阅的名称

  4. 对于“事件架构”,请将事件架构选择为“云事件架构 v1.0”。 它是 Azure Monitor 警报目标支持的唯一架构类型。

  5. 将“主题类型”选为 microsoft resourcenotifications healthresources

  6. 对于“事件类型”,请选择你感兴趣的事件类型。 在这种情况下,请选择可供使用的两种事件类型:AvailabilityStatusChangedResourceAnnotated

  7. 对于“终结点类型”,请选择“Azure Monitor 警报”作为目标

  8. 选择“配置终结点”链接

  9. 在“选择 Monitor 警报配置”页上,按照以下步骤操作

    1. 选择警报“严重性”
    2. [可选] 选择“操作组”。 请参阅“在 Azure 门户中创建操作组”。
    3. 为警报输入说明
    4. 选择“确认所选内容” 。
  10. 现在,在“创建事件订阅”页上,选择“创建”以创建事件订阅。 有关详细步骤,请参阅通过门户订阅事件

    显示“创建事件订阅”页的屏幕截图。

Azure Monitor 警报

在 Azure Monitor 警报中,事件网格警报如下图所示。

AvailabilityStatusChanged 的事件网格警报示例

显示 Azure Monitor 中“可用性状态已更改”警报示例的屏幕截图。

ResourceAnnotated 的事件网格警报示例

显示 Azure Monitor 中“资源已批注”警报示例的屏幕截图。

事件筛选器

事件筛选器使用户能够接收特定资源组、特定转换(可用性状态发生更改时)或特定注释(有关注释的完整列表,请参阅资源运行状况虚拟机运行状况注释)的警报。 用户可以使用此功能,根据特定的监视需求自定义其警报。

  1. 选择“筛选器”选项卡来提供主题筛选和高级筛选。 例如,若要筛选特定资源组中资源的事件,请执行以下步骤:

    1. 选择“启用主题筛选”。

    2. 在“主题筛选器”部分,对于“主题开头为”,请按以下格式提供资源组的值:/subscriptions/{subscription-id}/resourceGroups/{resourceGroup-id}

      显示事件订阅中筛选器的屏幕截图。

    3. 或者,通过在下一步介绍的高级筛选器中的“主题结尾为”参数中指定资源名称来筛选特定资源。

  2. 要进行高级筛选,请导航至事件订阅的“筛选器”选项卡,然后选择“高级筛选器”。 有关详细说明,请参阅“Azure 事件网格的事件筛选”。

    例如,若要在 VM 发生故障时收到警报,请设置一个筛选器来查找可用性从 Available 转换为 Unavailable 的 VM。 通过创建以下条件来完成此操作:

    • Available 位于键 data.resourceInfo.properties.availabilityState 中,并且

    • Unavailable 位于 data.resourceInfo.properties.availabilityState

      显示事件订阅中高级筛选器的屏幕截图。

示例 JSON 事件

示例 ResourceAnnotated 事件

下面是一个示例 ResourceAnnotated 事件。 请注意,type 设置为 Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated

{
    "id": "sample-id",
    "source": "/subscriptions/sample-subscription",
    "specversion": "1.0",
    "type": "Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
    "subject": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine",
    "time": "2024-02-22T01:39:48.3385828Z",
    "data": {
        "resourceInfo": {
            "id": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine/providers/Microsoft.ResourceHealth/resourceAnnotations/current",
            "name": "current",
            "type": "Microsoft.ResourceHealth/resourceAnnotations",
            "properties": {
                "targetResourceId": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine",
                "targetResourceType": "Microsoft.Compute/virtualMachines",
                "occurredTime": "2024-02-22T01:39:48.3385828Z",
                "annotationName": "VirtualMachineRebootInitiatedByControlPlane",
                "reason": "Rebooted by user",
                "summary": "The Virtual Machine is undergoing a reboot as requested by an authorized user or process from within the Virtual machine. No other action is required at this time. ",
                "context": "Customer Initiated",
                "category": "Not Applicable",
                "impactType": "Informational"
            }
        },
        "operationalInfo": {
            "resourceEventTime": "2024-02-22T01:39:48.3385828+00:00"
        },
        "apiVersion": "2022-08-01"
    }
}

示例 AvailabilityStatusChanged 事件

下面是一个示例 AvailabilityStatusChanged 事件。 请注意,type 设置为 Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged

{
    "id": "sample-id",
    "source": "/subscriptions/sample-subscription",
    "specversion": "1.0",
    "type": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged",
    "subject": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine",
    "time": "2024-02-22T01:40:17.6532683Z",
    "data": {
        "resourceInfo": {
            "id": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machinee/providers/Microsoft.ResourceHealth/availabilityStatuses/current",
            "name": "current",
            "type": "Microsoft.ResourceHealth/availabilityStatuses",
            "properties": {
                "targetResourceId": "/subscriptions/sample-subscription/resourceGroups/sample-rg/providers/Microsoft.Compute/virtualMachines/sample-machine",
                "targetResourceType": "Microsoft.Compute/virtualMachines",
                "occurredTime": "2024-02-22T01:39:50.177Z",
                "previousAvailabilityState": "Available",
                "availabilityState": "Unavailable"
            }
        },
        "operationalInfo": {
            "resourceEventTime": "2024-02-22T01:39:50.177+00:00"
        },
        "apiVersion": "2023-12-01"
    }
}

后续步骤

请参阅以下文章: