Azure 事件网格中的“Azure 资源通知 - 运行状况资源”事件(预览)
HealthResources 系统主题提供准确的、可靠和全面的运行状况信息,从而更深入地了解影响 Azure 资源的各种服务问题,即单实例虚拟机 (VM)、虚拟机规模集 VMS 和虚拟机规模集。 运行状况资源提供两种事件类型供使用:AvailabilityStatusChanged
和 ResourceAnnotated
。
本文提供 Azure 资源通知运行状况资源事件的属性和架构。 有关事件架构的一般简介,请参阅 Azure 事件网格事件架构。 此外,还可以找到生成的事件示例,以及有关如何为本主题类型创建系统主题的相关文章的链接。
事件类型
运行状况资源提供两种事件类型供使用:
事件类型 | 说明 |
---|---|
Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged |
当单个实例 VM、虚拟机规模集或虚拟机规模集中的 VM 的可用性状态发生更改时引发。 此信息提供有关单个实例 VM、虚拟机规模集中的 VM 或虚拟机规模集本身由于 Azure 服务问题而不可用的所有时间的见解。 有关各种运行状况的详细信息,请参阅 Azure 资源运行状况概述 - Azure 服务运行状况。 |
Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated |
当 VM、虚拟机规模集或虚拟机规模集中的 VM 的运行状况受影响可用性的中断影响时引发。 平台会发出上下文,说明发生中断的原因,以帮助你做出适当的响应。 此信息通过提供有关可用性更改的理由和原因的重要信息,帮助你推断资源的可用性状态。 使用此数据,可以采取更快、更有针对性的缓解措施。 有关发出的各种注释的详细信息,请参阅资源运行状况虚拟机运行状况注释。 |
基于角色的访问控制
目前,这些事件仅在 Azure 订阅范围内发出。 这意味着为此主题类型创建事件订阅的实体在整个 Azure 订阅过程中会接收通知。 出于安全原因,必须将在此主题上创建事件订阅的能力限制为对整个 Azure 订阅具有读取访问权限的主体。 若要通过此系统主题访问数据,除了事件网格所需的通用权限外,还需要以下 Azure 资源通知特定权限:Microsoft.ResourceNotifications/systemTopics/subscribeToHealthResources/action
。
事件架构
以下是架构:
{
"id": string,
"source": string,
"subject": string,
"type": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged | Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
"time ": string,
"data": {
"resourceInfo": {
"id": string,
"name": string,
"type": string,
"properties": {
<<Different for AvailabilityStatusChanged event and ResourceAnnotated event>>
}
},
"operationalInfo":{
"resourceEventTime": date-time
},
"apiVersion": string
},
"specversion": string
}
事件具有以下顶级数据:
属性 | 类型 | 说明 |
---|---|---|
id |
字符串 | 事件的唯一标识符 |
source |
字符串 | 要为其创建此系统主题的 Azure 订阅。 |
subject |
字符串 | 发布者定义了发出此事件的基础资源的路径。 |
type |
字符串 | 此系统主题类型的已注册事件类型 |
time |
字符串 格式: 2022-11-07T18:43:09.2894075Z |
事件的生成时间,基于提供程序的 UTC 时间 |
data |
对象 | 包含特定于资源提供程序的事件数据。 有关详细信息,请参阅下一个表格。 |
specversion |
字符串 | CloudEvents 架构规范版本。 |
data
对象具有以下属性:
属性 | 类型 | 说明 |
---|---|---|
resourceInfo |
对象 | 特定于资源的数据。 有关详细信息,请参阅下一个表格。 |
apiVersion |
字符串 | 资源属性的 API 版本。 |
operationalInfo |
对象 | 与资源相关的操作信息的详细信息。 |
resourceInfo
对象具有以下属性:
属性 | 类型 | 说明 |
---|---|---|
id |
字符串 | 事件主题的发布者定义路径 |
name |
字符串 | 此字段指示事件 ID。它始终采用 id 字段的最后一部分的值。 |
type |
字符串 | 正在发出的事件的类型。 在此上下文中,它是 Microsoft.ResourceHealth/AvailabilityStatuses 或 Microsoft.ResourceHealth/ResourceAnnotated 。 |
properties |
Object | 资源的有效负载。 有关详细信息,请参阅下一个表格。 |
operationalInfo
对象具有以下属性:
属性 | 类型 | 说明 |
---|---|---|
resourceEventTime |
DateTime | 更新资源的日期和时间。 |
对于 AvailabilityStatusChanged
和 ResourceAnnotated
事件,data
对象中的 properties
不同。
AvailabilityStatusChanged 事件的属性
"properties": {
"targetResourceId": string,
"targetResourceType": string,
"occurredTime": string,
"previousAvailabilityState": string,
"availabilityState": string
}
对于 AvailabilityStatusChanged
事件,properties
对象具有以下属性:
properties | 类型 | 说明 |
---|---|---|
targetResourceId |
字符串 | 要为其发出可用性信息的基本资源。 |
targetResourceType |
字符串 | 基本资源的类型。 |
occurredTime |
字符串 | 发出此实际事件的时间。 |
previousAvailabilityState |
字符串 | 以前的可用性状态。 |
availabilityState |
字符串 | 当前可用性状态。 有关值列表,请参阅可用性状态 - 按资源获取 - REST API(Azure 资源运行状况)。 |
ResourceAnnotated 事件的属性
"properties": {
"targetResourceId": string,
"targetResourceType": string,
"occurredTime": string,
"annotationName": string,
"reason": string,
"summary": string,
"context": string,
"category": string,
}
对于 ResourceAnnotated
事件,properties
对象具有以下属性:
properties | 类型 | 说明 |
---|---|---|
targetResourceId |
字符串 | 要为其发出注释信息的基本资源。 |
targetResourceType |
字符串 | 基本资源的类型。 |
occurredTime |
字符串 | Azure 平台发出注释以响应影响可用性的事件时的时间戳。 |
annotationName |
字符串 | 注释的名称。 有关注释列表和相应的说明,请参阅资源运行状况虚拟机运行状况注释 - Azure 服务运行状况。 |
reason |
字符串 | 有关资源可用性发生更改或受影响的原因的简短陈述。 |
summary |
字符串 | 有关活动以及资源可用性发生更改或受影响的原因的详细陈述。 |
context |
字符串 | 确定资源可用性是否因 Azure 或用户引起的活动而受到影响。 |
category |
字符串 | 确定资源可用性是因计划内活动还是计划外活动而受到影响。 此属性仅适用于 Platform-Initiated 事件。 |
示例事件
AvailabilityStatusChanged 事件
以下示例显示键/值修改事件的架构:
{
"id": "1fb6fa94-d965-4306-abeq-4810f0774e97",
"source": "/subscriptions/{subscription-id}",
"subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
"data": {
"resourceInfo": {
"id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}/providers/Microsoft.ResourceHealth/availabilityStatuses/{event-id}",
"name": "{event-id}",
"type": "Microsoft.ResourceHealth/availabilityStatuses",
"properties": {
"targetResourceId": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
"targetResourceType": "Microsoft.Compute/virtualMachines",
"occurredTime": "2023-07-24T19:20:37.9245071Z",
"previousAvailabilityState": "Unavailable",
"availabilityState": "Available"
}
},
"operationalInfo": {
"resourceEventTime": "2023-07-24T19:20:37.9245071Z"
},
"apiVersion": "2023-12-01"
},
"type": "Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged",
"specversion": "1.0",
"time": "2023-07-24T19:20:37.9245071Z"
}
ResourceAnnotated 事件
以下示例显示键/值修改事件的架构:
{
"id": "8945cf9b-e220-496e-ab4f-f3a239318995",
"source": "/subscriptions/{subscription-id}",
"subject": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
"data": {
"resourceInfo": {
"id": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}/providers/Microsoft.ResourceHealth/resourceAnnotations/{event-id}",
"name": "{event-id}",
"type": "Microsoft.ResourceHealth/resourceAnnotations",
"properties": {
"targetResourceId": "/subscriptions/{subscription-id}/resourceGroups/{rg-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}",
"targetResourceType": "Microsoft.Compute/virtualMachines",
"occurredTime": "2023-07-24T19:20:37.9245071Z",
"annotationName": "VirtualMachineDeallocationInitiated",
"reason": "Stopping and deallocating",
"summary": "This virtual machine is stopped and deallocated as requested by an authorized user or process.",
"context": "Customer Initiated",
"category": "Not Applicable"
}
},
"operationalInfo": {
"resourceEventTime": "2023-07-24T19:20:37.9245071Z"
},
"apiVersion": "2022-08-01"
},
"type": "Microsoft.ResourceNotifications.HealthResources.ResourceAnnotated",
"specversion": "1.0",
"time": "2023-07-24T19:20:37.9245071Z"
}
联系我们
如果对此功能有任何疑问或反馈,请通过 arnsupport@microsoft.com 随时联系我们。
为了更好地帮助你提供有关特定事件的特定反馈,请提供以下信息:
对于丢失的事件:
- 系统主题类型名称
- 执行操作时的近似时间戳 (UTC)
- 为其生成通知的基本资源 ID
- 在 Azure 门户中导航到你的资源,然后选择最右侧的 JSON 视图。 资源 ID 是 JSON 视图页上的第一个字段。
- 预期的事件类型
- 执行的操作(例如 VM 已启动或停止、已创建存储帐户等)
- 遇到的问题的说明(例如,VM 已启动,但未生成 Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged 事件)
- 如果可能,请提供所执行的操作的相关 ID
对于延迟或具有意外内容的事件
- 系统主题类型名称
- 不包括 data.resourceInfo.properties 的通知的全部内容
- 遇到的问题的说明和受影响的字段值
请确保在共享此数据时未提供任何最终用户身份信息。