我的 Amazon CloudWatch 警示已變成 ALARM 狀態。當我檢查受監控的指標時,CloudWatch 圖表沒有顯示超過臨界值的資料點。但是,警示歷史記錄確實有一筆超過臨界值的資料點記錄。我想知道是什麼觸發了 CloudWatch 警示。
簡短描述
如果您的應用程式在進行警示評估後,又在相同時段發佈其他資料點,CloudWatch 圖表便會顯示更新的彙總值。更新的彙總值會計入延遲資料點。即使警示歷史記錄根據評估期間可用的資料點,記下超過臨界值的情形,圖表可能也不會顯示已超過臨界值。
解決方法
尋找超過臨界值的資料點
下列範例呈現延遲的資料點如何導致 CloudWatch 圖表與警示歷史記錄出現差異。
在下列範例中,系統會使用以下參數設定警示:
- 命名空間: Web_App
- 指標: ResponseTime
- 維度:host,h_04254448d4e964956
- 統計資料: 平均值
- 臨界值: 0.005
- ComparisonOperator: GreaterThanThreshold
- 時間區間: 60 秒 (1 分鐘)
- 評估期: 1
當警示評估 12:00:00 至 12:01:00 UTC 這個時段時,指標會擷取下列值:
Sample-1: 12:00:00 UTC, numeric value: 0.00675
Sample-2: 12:00:00 UTC, numeric value: 0.00789
Sample-3: 12:00:00 UTC, numeric value: 0.00421
這些值的平均值為 0.006283333,超過了 0.005 秒的臨界值,因此警示會變成 ALARM 狀態。此時,警示歷史記錄會顯示超過臨界值的彙總值。
暫時遇到效能問題的主機會影響負責發佈指標的用戶端應用程式。因此,主機可能無法按照相等的間隔發佈資料點。在這種情況下,您的應用程式就會在警示評估之後,才發佈 12:00 的樣本值。
下列範例代表 12:00 時間戳記的所有樣本:
Sample-1: 12:00:00 UTC, numeric value: 0.00675
Sample-2: 12:00:00 UTC, numeric value: 0.00789
Sample-3: 12:00:00 UTC, numeric value: 0.00421
Sample-4: 12:00:00 UTC, numeric value: 0.00002
Sample-5: 12:00:00 UTC, numeric value: 0.00007
您收到警示的提醒後,請產生 CloudWatch 圖表來檢閱指標行為。CloudWatch 會從 12:00:00 至 12:01:00 UTC 中擷取五個樣本,然後彙總成 0.003788 的平均值。這個值不同於先前計算的值,而且低於臨界值。如果應用程式在警示評估後發佈其他樣本,您就看不到該時間範圍內超出臨界值的資料點。
增加警示評估的間隔
設定要發出警示的資料點時,可能會出現較長的評估間隔。當警示因為延遲指標而產生誤報時,評估間隔會拉長。如果拉長評估間隔,延遲的資料點也會納入警示評估範圍,這會減少誤報的次數。
若要增加評估間隔,請使用下列其中一個選項。
增加時間區間
在下列範例中,時間區間拉長到 5 分鐘:
命名空間: Web_App
指標: ResponseTime
維度:host,h_04254448d4e964956
統計資料: 平均值
臨界值: 0.005
ComparisonOperator: GreaterThanThreshold
時間區間: 300 秒 (5 分鐘)
評估期: 1
設定當 N 個資料點中有 M 個超出臨界值時就發出警示
設定需要出現多個超出臨界值的資料點,警示才會變成 ALARM 狀態。
在下列範例中,N 個之中的 M 個資料點設為 3 個資料點中的 2 個:
命名空間: Web_App
指標: ResponseTime
維度:host,h_04254448d4e964956
統計資料: 平均值
臨界值: 0.005
ComparisonOperator: GreaterThanThreshold
時間區間: 60 秒 (1 分鐘)
評估期 (N): 3
要發出警示的資料點 (M): 2
將評估期和要發出警示的資料點設為不同的值後,您便建立了「N 個之中的 M 個」警示。要發出警示的資料點設定為 M,評估期則設定為 N。例如,如果您將時間區間設為 1 分鐘,並設定 5 個資料點中有 4 個,則評估間隔為 5 分鐘。如果您將時間區間設為 10 分鐘,並設定 3 個資料點中有 3 個,則評估間隔為 30 分鐘。
如果將要發出警示的資料點設定成不同的值,CloudWatch 警示便會評估更多資料點。在一組資料點中,有達到最少數量的資料點超出臨界值時,CloudWatch 警示也會變更警示狀態。這個參數讓您可將警示調整成在單一資料點超出臨界值時觸發,或者需要多個資料點超出臨界值,才會變成 ALARM 狀態。
如需更多資訊,請參閱根據靜態臨界值建立 CloudWatch 警示和設定 CloudWatch 警示如何處理遺漏的資料。
相關資訊
為什麼我沒有收到 CloudWatch 警示觸發的 Amazon SNS 通知?
如何對處於 INSUFFICIENT_DATA 狀態的 CloudWatch 警示進行疑難排解?
為什麼我的 CloudWatch 警示在單一資料點超出臨界值後傳送通知給我?