Azure 資源通知 - Azure 事件方格中的健康情況資源事件 (預覽)
HealthResources 系統主題提供精確、可靠且完整的健康情況資訊,讓您更深入地了解影響 Azure 資源的各種服務問題,也就是單一執行個體虛擬機器 (VM)、虛擬機器擴展集 VMS 和虛擬機器擴展集。 健康情況資源提供兩種事件類型以供取用: AvailabilityStatusChanged
和 ResourceAnnotated
。
本文提供 Azure 資源通知健康情況資源事件的屬性和架構。 如需一般事件結構描述的簡介,請參閱 Azure Event Grid 事件結構描述。 此外,您還可以找到所產生事件的範例,以及有關如何建立本主題類型之系統主題的相關文章連結。
事件類型
健康情況資源提供兩種事件類型以供取用:
事件類型 | 描述 |
---|---|
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 |
String | 活動的唯一識別碼 |
source |
String | 建立此系統主題的 Azure 訂用帳戶。 |
subject |
String | 發行者定義發出此事件之基底資源的路徑。 |
type |
String | 此系統主題類型的已註冊事件類型 |
time |
String 格式: 2022-11-07T18:43:09.2894075Z |
事件產生的時間,以提供者之 UTC 時間為準 |
data |
Object | 包含資源提供者特有的事件資料。 如需詳細資訊,請參閱下一個表格。 |
specversion |
String | CloudEvents 結構描述規格版本。 |
data
物件具有下列屬性:
屬性 | 類型 | 描述 |
---|---|---|
resourceInfo |
Object | 資源特有的資料。 如需詳細資訊,請參閱下一個表格。 |
apiVersion |
String | 資源執行階段的 API 版本。 |
operationalInfo |
Object | 與資源相關的作業資訊詳細資料。 |
resourceInfo
物件具有下列屬性:
屬性 | 類型 | 描述 |
---|---|---|
id |
String | 發行者定義事件主體的路徑 |
name |
String | 此欄位表示 Event-id。它一律會採用 id 欄位最後一個區段的值。 |
type |
String | 正在發出的事件類型。 在此情況中,它是 Microsoft.ResourceHealth/AvailabilityStatuses 或 Microsoft.ResourceHealth/ResourceAnnotated 。 |
properties |
Object | 資源的承載。 如需詳細資訊,請參閱下一個表格。 |
operationalInfo
物件具有下列屬性:
屬性 | 類型 | 描述 |
---|---|---|
resourceEventTime |
Datetime | 更新資源的日期和時間。 |
data
物件內的 properties
與 AvailabilityStatusChanged
和 ResourceAnnotated
事件不同。
AvailabilityStatusChanged 事件的屬性
"properties": {
"targetResourceId": string,
"targetResourceType": string,
"occurredTime": string,
"previousAvailabilityState": string,
"availabilityState": string
}
針對 AvailabilityStatusChanged
事件,properties
物件具有下列屬性:
屬性 | 類型 | 描述 |
---|---|---|
targetResourceId |
String | 發出可用性資訊的基底資源。 |
targetResourceType |
String | 基底資源的型別。 |
occurredTime |
String | 發出此實際事件的時間。 |
previousAvailabilityState |
String | 先前的可用性狀態。 |
availabilityState |
String | 目前的可用性狀態。 如需值清單,請參閱可用性狀態 - 依資源取得 - REST API (Azure 資源健康狀態)。 |
ResourceAnnotated 事件的屬性
"properties": {
"targetResourceId": string,
"targetResourceType": string,
"occurredTime": string,
"annotationName": string,
"reason": string,
"summary": string,
"context": string,
"category": string,
}
針對 ResourceAnnotated
事件,properties
物件具有下列屬性:
屬性 | 類型 | 描述 |
---|---|---|
targetResourceId |
String | 正在發出註釋資訊的基底資源。 |
targetResourceType |
String | 基底資源的型別。 |
occurredTime |
String | Azure 平台發出註釋以回應可用性影響事件時的時間戳記。 |
annotationName |
String | 註釋的名稱。 如需註釋清單和對應的描述,請參閱資源健康狀態虛擬機器健康狀態註釋 - Azure 服務健康狀態。 |
reason |
String | 關於資源可用性變更或影響原因的簡短說明。 |
summary |
String | 活動的詳細說明,以及資源可用性變更或受到影響的原因。 |
context |
String | 判斷資源可用性是否因 Azure 或使用者造成活動而受到影響。 |
category |
String | 判斷資源可用性是否因計劃性或非計劃性活動而受到影響。 此屬性僅適用於 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 的近似時間戳記
- 產生通知的基底資源識別碼
- 在 Azure 入口網站中瀏覽至您的資源,然後選取最右側的 JSON 檢視。 資源識別碼是 JSON 檢視頁面上的第一個欄位。
- 預期的事件類型
- 執行的作業 (例如 VM 已啟動或停止、已建立記憶體帳戶等)
- 發生問題的描述 (例如,VM 已啟動,且未產生 Microsoft.ResourceNotifications.HealthResources.AvailabilityStatusChanged 事件)
- 可能的話,請提供所執行作業的相互關聯識別碼
針對延遲或有非預期內容的事件
- 系統主題類型名稱
- 通知的整個內容 (排除 data.resourceInfo.properties)
- 所遇到問題的描述和受影響欄位的值
請確定您在共用此資料時,未提供任何終端使用者可識別的資訊。