共用方式為


Azure 資源通知 - Azure 事件方格中的健康情況資源事件 (預覽)

HealthResources 系統主題提供精確、可靠且完整的健康情況資訊,讓您更深入地了解影響 Azure 資源的各種服務問題,也就是單一執行個體虛擬機器 (VM)、虛擬機器擴展集 VMS 和虛擬機器擴展集。 健康情況資源提供兩種事件類型以供取用: AvailabilityStatusChangedResourceAnnotated

本文提供 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/AvailabilityStatusesMicrosoft.ResourceHealth/ResourceAnnotated
properties Object 資源的承載。 如需詳細資訊,請參閱下一個表格。

operationalInfo 物件具有下列屬性:

屬性 類型​ 描述
resourceEventTime Datetime 更新資源的日期和時間。

data 物件內的 propertiesAvailabilityStatusChangedResourceAnnotated 事件不同。

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)
  • 所遇到問題的描述和受影響欄位的值

請確定您在共用此資料時,未提供任何終端使用者可識別的資訊。

下一步

請參閱訂閱 Azure 資源通知 - 健康情況資源事件