共用方式為


Flah 專案 - 使用 Azure Resource Graph 監視 Azure 虛擬機器可用性

Azure Resource Graph 是由 Flash 提供的一個解決方案。 Flash 是專案的內部名稱,專門用來打造健全、可靠且快速的機制,讓客戶能夠監視虛擬機器 (VM) 的健康情況。

本文涵蓋了使用 Azure Resource Graph 監視 Azure 虛擬機器可用性的內容。 如需 Flash 解決方案的一般概觀,請參閱 Flash 概觀

如需 Flash 提供的其他解決方案特定文件,請從下列文章中選擇:

Azure Resource Graph - HealthResources

此功能目前已正式發行。 這對於進行大規模調查有所幫助。 此功能提供資訊擷取功能,並搭配使用 kusto 查詢語言 (KQL),提供良好的使用者體驗。 此功能也可以作為資源資訊的中央中樞,並可讓使用者輕鬆擷取歷程資料。

除了正在流動的 VM 可用性狀態,我們也發佈 Azure Resource Graph (ARG) 的 VM 可用性註釋,提供詳細的失敗屬性和停機分析,並啟用 14 天的變更追蹤機制,追蹤 VM 可用性中的歷程變更以快速進行偵錯。 有了這些新增功能,我們很高興宣佈 ARG 中 HealthResources 資料集的 VM 可用性資料已正式發行! 透過此供應項目,使用者可以:

  • 有效率地查詢所有 Azure 訂用帳戶中 VM 可用性的最新快照集,可一次查詢所有資料且低延遲,以定期進行整體監視。
  • 準確評估對整體企業 SLA 的影響,並快速觸發果斷的緩和動作,以回應中斷和失敗簽章的類型。
  • 設定自訂儀表板,藉由聯結 VM 可用性資訊ARG 呈現的資源中繼資料,來監督應用程式的完整健康情況。
  • 使用變更追蹤機制來執行詳細調查,在 14 天內追蹤 VM 可用性的相關變更。

範例查詢

開始使用

使用者可以透過 PowerShellREST APIAzure CLI,甚至是 Azure 入口網站來查詢 ARG。 下列步驟詳細說明如何從 Azure 入口網站存取資料。

  1. 從 Azure 入口網站瀏覽至 Resource Graph Explorer。

    Azure 入口網站 上 Azure Resource Graph 總管登陸頁面的螢幕快照。

  2. 選取 [資料表] 索引標籤,然後按一下 [HealthResources] 資料表,以擷取 VM 可用性資訊的最新快照集 (可用性狀態和健康情況註釋)。

    Azure Resource Graph 總管視窗的螢幕快照,其中描述健康情況資源數據表中最新的 VM 可用性狀態和 VM 可用性批注。

HealthResources 資料表中會填入兩種類型的事件:

健康情況資源數據表中事件類型的快照集,如 Azure 入口網站 上的 Resource Graph 總管所示。

  • resourcehealth/availabilitystatuses

此事件會表示 VM 的最新可用性狀態,這是根據基礎 Azure 平台所執行的健康情況檢查。 以下是目前針對 VM 發出的可用性狀態:

  • 可用: VM 已如預期般啟動並執行。
  • 無法使用:我們偵測到 VM 的正常運作情形中斷,因此應用程式不會如預期般執行。
  • 不明: 平台無法正確偵測 VM 的健康情況。 使用者通常可以在幾分鐘內查看更新的狀態。

若要輪詢最新的 VM 可用性狀態,請參閱屬性欄位,其中包含下列詳細資料:

範例

{
 "targetResourceType": "Microsoft.Compute/virtualMachines",
 "previousAvailabilityState": "Available",
 "targetResourceId": "/subscriptions//resourceGroups//providers/Microsoft.Compute/virtualMachines/",
 "occurredTime": "2022-10-11T11:13:59.9570000Z",
 "availabilityState": "Unavailable"
 }

屬性描述

屬性 說明 對應資源健康情況類別 (RHC)
targetResourceType 健康情況資料流動的資源類型 resourceType
targetResourceId 資源識別碼 resourceId
occurredTime 平台發出最新可用性狀態時的時間戳記 eventTimestamp
previousAvailabilityState VM 之前的可用性狀態 previousHealthStatus
availabilityState VM 目前的可用性狀態 currentHealthStatus

請參閱範例查詢文件的 HealthResources 一節,取得入門查詢清單以進一步探索此資料。

  • resourcehealth/resourceannotations (新增)

此事件會將 VM 可用性的任何變更內容化,方法是詳細說明必要的失敗屬性,以協助使用者視需要調查及減輕中斷情況。 請參閱平台發出的 VM 可用性註釋完整清單。 這些註釋可廣泛分類為三個貯體:

  • 停機時間註釋: 當平台偵測到 VM 可用性轉換至無法使用時會發出這些註釋。 (例如,當主機在非預期的情況下當機,或重新啟動的修復作業)。
  • 資訊註釋: 在控制平面活動期間發出這些註釋,不會影響 VM 可用性。 (例如 VM 配置、停止、刪除、啟動)。 回應中通常不需要進一步採取客戶動作。
  • 降級註釋: 偵測到 VM 可用性有風險時發出這些註釋。 (例如,當失敗預測模型預測到降級硬體元件可能導致 VM 在任何指定時間重新啟動)。 強烈建議使用者依照註釋訊息中指定的期限重新部署,以避免任何未預期的資料遺失或停機時間。 在下列其中一個案例中,您可能會在 Azure 虛擬機器擴展集的資源健康情況或活動記錄中收到警示:

若要輪詢資源的相關 VM 可用性註釋 (若適用),請參閱屬性欄位,欄位中包含下列詳細資料:

範例

{
 "targetResourceType": "Microsoft.Compute/virtualMachines", "targetResourceId": "/subscriptions//resourceGroups//providers/Microsoft.Compute/virtualMachines/",
 "annotationName": "VirtualMachineHostRebootedForRepair",
 "occurredTime": "2022-09-25T20:21:37.5280000Z",
 "category": "Unplanned",
 "summary": "We're sorry, your virtual machine isn't available because an unexpected failure on the host server. Azure has begun the auto-recovery process and is currently rebooting the host server. No further action is required from you at this time. The virtual machine will be back online after the reboot completes.",
 "context": "Platform Initiated",
 "reason": "Unexpected host failure"
 }

屬性描述

屬性 說明 對應 RHC
targetResourceType 健康情況資料流動的資源類型 resourceType
targetResourceId 資源識別碼 resourceId
occurredTime 平台發出最新可用性狀態時的時間戳記 eventTimestamp
annotationName 發出的註釋名稱 eventName
reason 客戶觀察到的可用性影響簡要概觀 title
category 表示觸發註釋的平台活動是計劃性維護還是非計劃性修復。 此欄位不適用於客戶/VM 起始的事件。 可能的值: 計劃性、非計劃性、不適用、Null category
內容 表示觸發註釋的活動是由授權使用者或流程 (客戶起始) 所造成、由 Azure 平台 (平台起始) 所造成,還是客體 OS 中活動 (VM 起始) 所造成的可用性影響。 可能的值: 平台起始、使用者起始、VM 起始、不適用、Null 內容
摘要 詳細說明註釋發出原因的陳述式,以及使用者可採取的補救步驟 摘要

請參閱範例查詢文件的 HealthResources 一節,取得入門查詢清單以進一步探索此資料。

我們已針對 HealthResources 資料集表面的註釋中繼資料規劃多個增強功能。 這些擴充可讓使用者存取更豐富的失敗屬性,果斷地準備對中斷情形的因應措施。 同時,我們的目標是將歷程回顧的持續時間延長到至少 30 天,讓使用者可以全面追蹤 VM 可用性的過往變更。

下一步

若要深入了解提供的解決方案,請繼續參閱對應的解決方案文章:

如需如何監視 Azure 虛擬機器的一般概觀,請參閱監視 Azure 虛擬機器監視 Azure 虛擬機器的參考資料