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 可用性的相關變更。
範例查詢
- Azure Service Health 的 Azure Resource Graph 範例查詢 - Azure 服務健康狀態 | Microsoft Learn
- Azure Resource Graph 中的 VM 可用性資訊 - Azure 虛擬機器 | Microsoft Learn
- 依資料表排序的 Azure Resource Graph 範例查詢清單 - Azure Resource Graph | Microsoft Learn
開始使用
使用者可以透過 PowerShell、 REST API、 Azure CLI,甚至是 Azure 入口網站來查詢 ARG。 下列步驟詳細說明如何從 Azure 入口網站存取資料。
從 Azure 入口網站瀏覽至 Resource Graph Explorer。
選取 [資料表] 索引標籤,然後按一下 [HealthResources] 資料表,以擷取 VM 可用性資訊的最新快照集 (可用性狀態和健康情況註釋)。
HealthResources 資料表中會填入兩種類型的事件:
- 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 虛擬機器擴展集的資源健康情況或活動記錄中收到警示:
- Azure 虛擬機器擴展集中的 VM 正在停止、解除配置、刪除或啟動。
- 您在虛擬機器擴展集上執行相應縮小或相應放大作業。
- 警示指出虛擬機器擴展集的彙總平台健康情況暫時處於「已降級」狀態。
若要輪詢資源的相關 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 虛擬機器的參考資料。