針對 Azure 監視器自動調整進行疑難排解

Azure 監視器自動調整可協助您執行適當數量的資源來處理應用程式的負載。 其可讓您新增資源來處理增加的負載,還能透過移除閒置資源來節省成本。 您可以根據排程、固定日期時間或您選擇的資源計量進行調整。 如需詳細資訊,請參閱 自動調整概觀

自動調整服務會提供計量和記錄,以協助您瞭解發生的調整動作,以及評估導致這些動作的條件。 您可以找到問題解答,例如:

  • 為什麼我的服務相應放大或相應縮小?
  • 為什麼我的服務未調整?
  • 為什麼自動調整動作失敗?
  • 為什麼自動調整動作需要時間調整?

自動調整計量

自動調整提供 四個計量 來瞭解其作業:

  • 觀察到的計量值:您選擇要採取調整動作的計量值,如自動調整引擎所見或計算。 因為單一自動調整設定可以有多個規則,因此有多個計量來源,所以您可以使用「計量來源」作為維度進行篩選。
  • 計量閾值:您設定為採取調整動作的閾值。 因為單一自動調整設定可以有多個規則,因此有多個計量來源,所以您可以使用「計量規則」作為維度進行篩選。
  • 觀察到的容量:自動調整引擎所見之目標資源的使用中實例數目。
  • 調整動作起始:由自動調整引擎起始的向外延展和相應縮小動作數目。 您可以依向外延展與相應縮小動作進行篩選。

您可以使用 計量總管 ,在單一位置繪製上述計量的圖表。 圖表應該會顯示:

  • 實際計量。
  • 自動調整引擎所見/計算的計量。
  • 調整動作的臨界值。
  • 變更容量。

範例 1:分析自動調整規則

虛擬機器擴展集的自動調整設定:

  • 當集合的平均 CPU 百分比大於 70% 10 分鐘時相應放大。
  • 當集合的 CPU 百分比小於 5% 超過 10 分鐘時,相應縮小。

讓我們檢閱來自自動調整服務的計量。

下圖顯示虛擬機器擴展集的 百分比 CPU 計量。

顯示虛擬機器擴展集百分比 CPU 範例的螢幕擷取畫面。

下一張圖表顯示自動調整設定的 [觀察計量值 ] 計量。

顯示另一個虛擬機器擴展集百分比 CPU 範例的螢幕擷取畫面。

最後一張圖表顯示 計量臨界值觀察到的容量 計量。 相應放大規則頂端的 計量閾值 計量為 70。 底部 的 [觀察到的容量 ] 計量會顯示目前為 3 個作用中的實例數目。

顯示計量閾值和觀察到容量的螢幕擷取畫面。

注意

您可以依計量觸發程式規則維度相應放大 (增加) 規則來篩選計量 臨界 值,並依相應縮小規則 (減少) 。

範例 2:虛擬機器擴展集的進階自動調整

自動調整設定可讓虛擬機器擴展集資源根據其自己的 輸出流程 計量相應放大。 已選取計量閾值的 [ 依實例計數 分割計量] 選項。

縮放動作規則是,如果 每個實例的輸出流程 值大於 10,則自動調整服務應該相應放大 1 個實例。

在此情況下,自動調整引擎觀察到的計量值會計算為實際計量值除以實例數目。 如果觀察的計量值小於閾值,就不會起始任何擴增動作。

下列螢幕擷取畫面顯示兩個計量圖表。

[ 平均輸出流量 ] 圖表會顯示輸出 流量 計量的值。 實際值為 6。

顯示 [平均輸出流量] 頁面的螢幕擷取畫面,其中包含虛擬機器擴展集自動調整計量圖表的範例。

下圖顯示幾個值:

  • 中間 的「觀察到的計量值 」計量為 3,因為有 2 個作用中實例,而 6 除以 2 為 3。

  • 底部 的 [觀察到的容量 ] 計量會顯示自動調整引擎看到的實例計數。

  • 頂端的 計量閾值 計量設定為 10。

    顯示虛擬機器擴展集自動調整計量圖表範例的螢幕擷取畫面。

如果有多個調整動作規則,您可以使用計量總管圖表中的分割或 新增篩選 選項,查看特定來源或規則的計量。 如需分割計量圖表的詳細資訊,請參閱 計量圖表的進階功能 - 分割

範例 3:瞭解自動調整事件

在自動調整設定畫面中,移至 [執行歷程記錄] 索引標籤,以查看最新的調整動作。 此索引標籤也會顯示 [觀察的容量] 中在一段時間內的變更。 若要尋找所有自動調整動作的詳細資訊,包括更新/刪除自動調整設定等作業,請檢視活動記錄檔,並依自動調整作業進行篩選。

顯示自動調整設定執行歷程記錄的螢幕擷取畫面。

自動調整資源記錄

自動調整服務會提供 資源記錄。 記錄有兩種類別:

  • 自動調整評估:每次執行檢查時,自動調整引擎都會記錄每個單一條件評估的記錄專案。 此項目包括有關計量觀察到的值的詳細資料、已評估的規則,以及評估是否會導致調整動作。
  • 自動調整規模動作:引擎會記錄自動調整服務所起始的調整動作事件,以及這些調整動作的結果, (成功、失敗,以及自動調整服務) 所看到的大小。

如同任何 Azure 監視器支援的服務,您可以使用 診斷設定將這些記錄 路由傳送至:

  • Log Analytics 工作區以取得詳細的分析。
  • Azure 事件中樞,然後移至非 Azure 工具。
  • 用於封存的 Azure 儲存體帳戶。

顯示自動調整診斷設定的螢幕擷取畫面。

上述螢幕擷取畫面顯示Azure 入口網站自動調整診斷設定窗格。 您可以在該處選取 [ 診斷/資源記錄] 索引標籤,並啟用記錄收集和路由。 您也可以使用 REST API、Azure CLI、PowerShell 和 Azure Resource Manager範本來執行相同的動作,方法是選擇資源類型作為Microsoft.Insights/AutoscaleSettings來進行診斷設定。

使用自動調整記錄進行疑難排解

為了獲得最佳疑難排解體驗,建議您在建立自動調整設定時,透過工作區將記錄路由傳送至 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

未發生調整動作

您預期會有縮放動作,但並未發生。 可能沒有任何調整動作事件或記錄。

如果您使用以計量為基礎的調整規則,請檢閱自動調整計量。 觀察到的計量值或Observed Capacity值可能不是您預期的值,因此不會引發縮放規則。 您仍會看到評估,但看不到擴增規則。 冷卻時間也可能讓調整動作無法發生。

當您預期發生調整動作時,請檢閱自動調整評估記錄。 檢閱其所做的所有評估,以及為何決定不要觸發調整動作。

AutoscaleEvaluationsLog
| where TimeGenerated > ago(2h)
| where OperationName == "MetricEvaluation" or OperationName == "ScaleRuleEvaluation"
| project OperationName, MetricData, ObservedValue, Threshold, EstimateScaleResult

調整動作失敗

在某些情況下,自動調整服務會採取調整動作,但系統決定不調整或無法完成調整動作。 使用此查詢來尋找失敗的調整動作:

AutoscaleScaleActionsLog
| where ResultType == "Failed"
| project ResultDescription

建立警示規則,以取得自動調整動作或失敗的通知。 您也可以建立警示規則,以取得自動調整事件的通知。

自動調整資源記錄的結構描述

如需詳細資訊,請參閱 自動調整資源記錄

後續步驟

閱讀自動調整最佳做法的相關資訊。