你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
订阅运行状况资源事件并将这些事件发送到 Azure Monitor 警报(预览版)
Azure 事件网格中的运行状况资源系统主题为单实例虚拟机 (VM)、虚拟机规模集 VMS 和虚拟机规模集等 Azure 资源的运行状况提供准确、可靠且全面的信息。 此功能使用户能够更深入地了解影响资源的各种服务问题。 现在可以设置 Azure Monitor 警报,以在工作负载受到影响时收到通知。
先决条件
- 按照“订阅 Azure 资源通知 - 运行状况资源事件”中的说明创建运行状况资源系统主题。
- 阅读“Azure 事件网格中的运行状况资源事件”一文,了解系统主题支持的事件类型及其属性。
- 要了解 Azure Monitor 警报,请参阅“如何将事件发送到 Azure Monitor 警报”。
创建并配置事件订阅
导航到作为先决条件的一部分创建的事件网格系统主题。
在命令栏上选择“+ 事件订阅”。
输入事件订阅的名称。
对于“事件架构”,请将事件架构选择为“云事件架构 v1.0”。 它是 Azure Monitor 警报目标支持的唯一架构类型。
将“主题类型”选为
microsoft resourcenotifications healthresources
。对于“事件类型”,请选择你感兴趣的事件类型。 在这种情况下,请选择可供使用的两种事件类型:
AvailabilityStatusChanged
和ResourceAnnotated
。对于“终结点类型”,请选择“Azure Monitor 警报”作为目标。
选择“配置终结点”链接。
在“选择 Monitor 警报配置”页上,按照以下步骤操作。
- 选择警报“严重性”。
- [可选] 选择“操作组”。 请参阅“在 Azure 门户中创建操作组”。
- 为警报输入说明。
- 选择“确认所选内容” 。
现在,在“创建事件订阅”页上,选择“创建”以创建事件订阅。 有关详细步骤,请参阅通过门户订阅事件。
Azure Monitor 警报
在 Azure Monitor 警报中,事件网格警报如下图所示。
AvailabilityStatusChanged
的事件网格警报示例:
ResourceAnnotated
的事件网格警报示例:
事件筛选器
事件筛选器使用户能够接收特定资源组、特定转换(可用性状态发生更改时)或特定注释(有关注释的完整列表,请参阅资源运行状况虚拟机运行状况注释)的警报。 用户可以使用此功能,根据特定的监视需求自定义其警报。
选择“筛选器”选项卡来提供主题筛选和高级筛选。 例如,若要筛选特定资源组中资源的事件,请执行以下步骤:
选择“启用主题筛选”。
在“主题筛选器”部分,对于“主题开头为”,请按以下格式提供资源组的值:
/subscriptions/{subscription-id}/resourceGroups/{resourceGroup-id}
。或者,通过在下一步介绍的高级筛选器中的“主题结尾为”参数中指定资源名称来筛选特定资源。
要进行高级筛选,请导航至事件订阅的“筛选器”选项卡,然后选择“高级筛选器”。 有关详细说明,请参阅“Azure 事件网格的事件筛选”。
例如,若要在 VM 发生故障时收到警报,请设置一个筛选器来查找可用性从
Available
转换为Unavailable
的 VM。 通过创建以下条件来完成此操作:
示例 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-machine/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"
}
}
后续步骤
请参阅以下文章: