針對 Azure 監視器自動調整進行疑難解答
Azure 監視器自動調整可協助您有正確的資源量執行,以處理應用程式上的負載。 它可讓您新增資源來處理負載增加,並藉由移除閑置的資源來節省成本。 您可以根據排程、固定日期時間或您選擇的資源計量進行調整。 如需詳細資訊,請參閱 自動調整概觀。
自動調整服務會提供計量和記錄,協助您了解發生的調整動作,以及評估導致這些動作的條件。 您可以找到下列問題的解答:
- 為什麼我的服務相應放大或相應縮小?
- 為什麼我的服務沒有調整?
- 為什麼自動調整動作失敗?
- 為什麼自動調整動作需要時間來調整?
Flex 虛擬機器擴展集
自動調整調整動作會在手動調整動作套用至 一組特定虛擬機作業的 Flex Microsoft.Compute/virtualMachineScaleSets (VMSS) 資源后,延遲最多數小時。
例如, Azure VM CLI Delete 或 Azure VM Rest API Delete ,其中作業會在個別 VM 上執行。
在這些情況下,自動調整服務並不知道個別的 VM 作業。
若要避免這種情況,請使用相同的作業,但在虛擬機擴展集層級。 例如, Azure VMSS CLI 刪除實例或 Azure VMSS Rest API 刪除實例。 自動調整會偵測虛擬機擴展集中的實例計數變更,並執行適當的調整動作。
自動調整計量
自動調整提供四個 計量 來瞭解其作業:
- 觀察到的計量值:您選擇要採取調整動作的計量值,如自動調整引擎所見或計算。 因為單一自動調整設定可以有多個規則,因此有多個計量來源,所以您可以使用「計量來源」作為維度進行篩選。
- 計量臨界值:您設定為採取調整動作的閾值。 由於單一自動調整設定可以有多個規則,因此有多個計量來源,因此您可以使用「計量規則」作為維度進行篩選。
- 觀察到的容量:自動調整引擎所見之目標資源的使用中實例數目。
- 已起始的調整動作:自動調整引擎所起始的相應放大和相應縮小動作數目。 您可以依向外延展與相應縮小動作進行篩選。
您可以使用 計量總 管,在單一位置繪製上述計量圖表。 圖表應該會顯示:
- 實際計量。
- 自動調整引擎所見/計算的計量。
- 調整動作的臨界值。
- 容量變更。
範例 1:分析自動調整規則
虛擬機擴展集的自動調整設定:
- 當集合的平均 CPU 百分比在 10 分鐘內大於 70% 時相應放大。
- 當集合的CPU百分比小於5%超過10分鐘時,相應縮小。
讓我們從自動調整服務檢閱計量。
下圖顯示 虛擬機擴展集的 [CPU 百分比] 計量。
下一張圖表顯示 自動調整設定的 [觀察計量值 ] 計量。
最後一張圖表顯示 計量閾值 和 觀察到的容量 計量。 相應 放大規則頂端的計量閾值 計量為 70。 底部的 Observed Capacity 計量會顯示目前為 3 的作用中實例數目。
注意
您可以依計量觸發程式規則維度向外延展(增加)規則來篩選 計量臨界 值,以查看相應放大閾值和相應縮小規則(減少)。
範例 2:虛擬機擴展集的進階自動調整
自動調整設定可讓虛擬機擴展集資源根據其本身 的輸出流量 計量相應放大。 已 選取計量閾值的 [依實例計數 分割計量] 選項。
調整動作規則是,如果每個實例的輸出流程值大於 10,則自動調整服務應該相應放大 1 個實例。
在此情況下,自動調整引擎觀察到的計量值會計算為實際計量值除以實例數目。 如果觀察到的計量值小於臨界值,則不會起始相應放大動作。
下列螢幕快照顯示兩個計量圖表。
[平均輸出流量] 圖表會顯示輸出流量計量的值。 實際值為 6。
下圖顯示一些值:
- 中間的 Observed Metric Value 計量為 3,因為有 2 個作用中實例,而 6 除以 2 是 3。
- 底部的 Observed Capacity 計量會顯示自動調整引擎看到的實例計數。
- 頂端的 [計量閾值 ] 計量會設定為 10。
如果有多個縮放動作規則,您可以使用計量總管圖表中的分割或 新增篩選 選項,查看特定來源或規則的計量。 如需分割計量圖表的詳細資訊,請參閱 計量圖表的進階功能 - 分割。
範例 3:了解自動調整事件
在自動調整設定畫面中,移至 [執行歷程記錄] 索引標籤,以查看最新的調整動作。 索引標籤也會顯示一段時間的 [觀察容量 ] 變更。 若要尋找所有自動調整動作的詳細資訊,包括更新/刪除自動調整設定等作業,請檢視活動記錄檔,並依自動調整作業進行篩選。
自動調整資源記錄
自動調整服務會提供 資源記錄。 記錄有兩種類別:
- 自動調整評估: 每次執行檢查時,自動調整引擎就會記錄每個單一狀況評估的記錄項目。 此項目包含計量的觀察值詳細資料、已評估的規則,以及評估是否導致調整動作。
- 自動調整調整動作:引擎會記錄自動調整服務所起始的調整動作事件,以及這些調整動作的結果(成功、失敗,以及自動調整服務所見的縮放比例)。
如同任何 Azure 監視器支援的服務,您可以使用 診斷設定 將這些記錄路由傳送至:
- 您的 Log Analytics 工作區可取得詳細的分析。
- Azure 事件中樞,然後 Azure 事件中樞 至非 Azure 工具。
- 封存 Azure 儲存體 帳戶。
上述螢幕快照顯示 Azure 入口網站 自動調整診斷設定窗格。 您可以在該處選取 [ 診斷/資源記錄] 索引標籤,並啟用記錄收集與路由。 您也可以使用 REST API、Azure CLI、PowerShell 和 Azure Resource Manager 範本來執行相同的動作,藉由選擇資源類型作為 Microsoft.Insights/Autoscale 設定 來進行診斷設定。
使用自動調整記錄進行疑難解答
為了獲得最佳的疑難解答體驗,建議您在建立自動調整設定時,透過工作區將記錄路由傳送至 Azure 監視器記錄 (Log Analytics)。 此程式會顯示在上一節的螢幕快照中。 您可以使用 Log Analytics 來驗證評估和調整動作。
將自動調整記錄設定為傳送至 Log Analytics 工作區之後,您可以執行下列查詢來檢查記錄。
若要開始使用,請嘗試此查詢以檢視最新的自動調整評估記錄:
AutoscaleEvaluationsLog
| limit 50
或嘗試下列查詢來檢視最新的調整動作記錄:
AutoscaleScaleActionsLog
| limit 50
使用下列各節回答這些問題。
您沒想到會發生調整動作
首先,執行調整動作的查詢,以尋找您感興趣的縮放動作。 如果是最新的調整動作,請使用下列查詢:
AutoscaleScaleActionsLog
| take 1
CorrelationId
從調整動作記錄中選取欄位。 使用 CorrelationId
來尋找正確的評估記錄檔。 執行下列查詢會顯示已評估並導致該縮放動作的所有規則和條件。
AutoscaleEvaluationsLog
| where CorrelationId = "<correliationId>"
哪一個配置檔造成調整動作?
發生調整動作,但您有重疊的規則和配置檔,而且需要追蹤導致動作的原因。
CorrelationId
尋找縮放動作的 ,如範例 1 中所述。 然後在評估記錄上執行查詢,以深入瞭解配置檔。
AutoscaleEvaluationsLog
| where CorrelationId = "<correliationId_Guid>"
| where ProfileSelected == true
| project ProfileEvaluationTime, Profile, ProfileSelected, EvaluationResult
您也可以使用下列查詢來進一步瞭解整個設定檔評估:
AutoscaleEvaluationsLog
| where TimeGenerated > ago(2h)
| where OperationName contains == "profileEvaluation"
| project OperationName, Profile, ProfileEvaluationTime, ProfileSelected, EvaluationResult
未發生縮放動作
您預期會有調整動作,但未發生。 可能沒有任何調整動作事件或記錄。
如果您使用計量型調整規則,請檢閱自動調整計量。 [觀察計量] 值或 [觀察容量] 值可能不是您預期的值,因此調整規則不會引發。 您仍會看到評估,但不會看到向外延展規則。 冷卻時間也可能讓規模調整動作無法發生。
當您預期發生調整動作時,請檢閱自動調整評估記錄。 檢閱它所做的所有評估,以及為何決定不觸發縮放動作。
AutoscaleEvaluationsLog
| where TimeGenerated > ago(2h)
| where OperationName == "MetricEvaluation" or OperationName == "ScaleRuleEvaluation"
| project OperationName, MetricData, ObservedValue, Threshold, EstimateScaleResult
調整動作失敗
在某些情況下,自動調整服務會採取調整動作,但系統決定不調整或無法完成調整動作。 使用此查詢來尋找失敗的調整動作:
AutoscaleScaleActionsLog
| where ResultType == "Failed"
| project ResultDescription
建立警示規則以取得自動調整動作或失敗的通知。 您也可以建立警示規則,以取得自動調整事件的通知。
自動調整資源記錄的架構
如需詳細資訊,請參閱 自動調整資源記錄。
下一步
閱讀自動調整最佳做法的相關信息。