監控預測性擴展指標 CloudWatch - Amazon EC2 Auto Scaling

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控預測性擴展指標 CloudWatch

根據您的需求,您可能更喜歡從 Amazon 存取監控資料以進行預測擴展, CloudWatch 而不是從 Amazon EC2 Auto Scaling 主控台存取。建立預測擴展政策之後,政策會收集用於預測未來負載和容量的資料。收集此資料後,會定期自動 CloudWatch 儲存資料。然後,您可以使用 CloudWatch 以視覺化方式呈現原則隨時間的效能。您也可以建立 CloudWatch 警示,以在績效指標變更超出您在中定義的限制時通知您 CloudWatch。

視覺化歷史預測資料

您可以在中檢視預測擴展政策的負載和容量預測資料 CloudWatch。在單一圖表中根 CloudWatch據其他度量視覺化預測時,這很有用。它還可以幫助您檢視更廣泛的時間範圍,以便可以看到隨時間變化的趨勢。您可以存取長達 15 個月的歷史指標,以更加了解政策的執行狀況。

如需詳細資訊,請參閱預測擴展指標與維度

使用 CloudWatch 主控台檢視歷史預測資料
  1. 在開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中,選擇 Metrics (指標),然後選擇 All metrics (所有指標)。

  3. 選擇 Auto Scaling (自動擴展) 指標命名空間。

  4. 選擇下列其中一個選項,以檢視負載預測或容量預測指標:

    • 預測性擴展載入預測

    • 預測性擴展容量預測

  5. 在搜尋欄位中,輸入預測擴展政策的名稱或者 Auto Scaling 群組的名稱,然後按 Enter 篩選結果。

  6. 若要將指標圖形化,請勾選指標旁的核取方塊。若要變更圖形的名稱,請選擇鉛筆圖示。若要變更時間範圍,請選取一個預先定義的值,或選擇 custom (自訂)。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的繪製指繪製圖形。

  7. 若要變更統計數字,請選擇 Graphed metrics (圖表化指標) 索引標籤。選擇欄位標題或個別的值,然後選擇不同的統計資料。雖然您可以為每個測量結果選擇任何統計資料,但並非所有統計資料都適用於PredictiveScalingLoadForecast和測PredictiveScalingCapacityForecast量結果。例如,Average (平均值)、Minimum (最小值) 和 Maximum (最大值) 統計資料有用,但是 Sum (總和) 統計資料無用。

  8. 若要將其他指標新增到圖表,請在 Browse (瀏覽) 下,選擇 All (所有),找到特定指標,然後選取旁邊的核取方塊。您最多可新增 10 個指標。

    例如,若要將CPU使用率的實際值新增至圖形,請選擇EC2命名空間,然後選擇「依 Auto Scaling 群組」。然後,選取CPUUtilization量度和特定「Auto Scaling」群組的核取方塊。

  9. (選擇性) 若要將圖形新增至 CloudWatch 儀表板,請選擇動作 > 新增至儀表板

使用指標數學建立準確度指標

使用量度數學,您可以查詢多個 CloudWatch 量度,並使用數學運算式根據這些量度建立新的時間序列。您可以在 CloudWatch 主控台上視覺化產生的時間序列,並將其新增至儀表板。如需有關度量數學的詳細資訊,請參閱 Amazon 使用 CloudWatch 者指南中的使用指標數學運算

使用指標數學,您可以使用不同的方式繪製 Amazon EC2 Auto Scaling 為預測擴展而產生的資料圖表。這可協助您監控一段時間內的政策績效,並協助您瞭解是否可以改善指標組合。

例如,您可以使用度量數學運算式來監視平均絕對誤差百分比 (MAPE)。該指MAPE標有助於監視預測值與指定預測期間觀察到的實際值之間的差異。值的變更MAPE可表示原則的效能是否隨著應用程式的性質變更而隨著時間的推移而降低。增加表示預測值與實際值之間的間隙較寬。MAPE

範例:指標數學表達式

如果要開始使用此類圖表,您可以建立類似於以下範例中所示的指標數學表達式。

{ "MetricDataQueries": [ { "Expression": "TIME_SERIES(AVG(ABS(m1-m2)/m1))", "Id": "e1", "Period": 3600, "Label": "MeanAbsolutePercentageError", "ReturnData": true }, { "Id": "m1", "Label": "ActualLoadValues", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" } ] }, "Period": 3600, "Stat": "Sum" }, "ReturnData": false }, { "Id": "m2", "Label": "ForecastedLoadValues", "MetricStat": { "Metric": { "Namespace": "AWS/AutoScaling", "MetricName": "PredictiveScalingLoadForecast", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" }, { "Name": "PolicyName", "Value": "my-predictive-scaling-policy" }, { "Name": "PairIndex", "Value": "0" } ] }, "Period": 3600, "Stat": "Average" }, "ReturnData": false } ] }

MetricDataQueries 有一個指標資料查詢結構陣列,而不是單一的指標。MetricDataQueries 中的每個項目都會取得指標或執行數學表達式。第一項,e1,是數學表達式。指定的表達式將 ReturnData 參數設定為 true,最終產生單一時間序列。對於所有其他指標,ReturnData 值為 false

在此範例中,指定的運算式會使用實際值和預測值做為輸入值,並傳回新的 metric (MAPE)。 m1是包含實際負載值的 CloudWatch測量結果 (假設CPU使用率是最初為命名之原則指定的負載測量結果my-predictive-scaling-policy)。 m2是包含預測負載值的測 CloudWatch量結果。MAPE量度的數學語法如下:

Average of (abs ((Actual - Forecast)/(Actual)))

視覺化您的準確度指標並設定警示

若要視覺化準確度量資料,請選取 CloudWatch 主控台中的「量度」索引標籤。您可以從那裡繪製資料圖表。如需詳細資訊,請參Amazon CloudWatch 使用者指南中的將數學運算式新增至 CloudWatch 圖表。

您也可以在 Metrics (指標) 區段中,對您監控的指標設定警示。在 Graphed metrics (圖表化指標) 索引標籤上,選取 Actions (動作) 資料欄下的 Create alarm (建立警示) 圖示。Create alarm (建立警示) 圖示表示為一個小鐘。如需詳細資訊和通知選項,請參閱 Amazon CloudWatch 使用者指南中的根據指標數學運算式建立警示和通知使用者警示變更。 CloudWatch

或者,您可以使用GetMetricDataPutMetricAlarm來執行使用公制數學運算的計算,並根據輸出建立警示。