為什麼受監控的指標沒有任何違反資料點,我的 CloudWatch 警示卻啟動了?

2 分的閱讀內容
0

我的 Amazon CloudWatch 警示已變更為 ALARM 狀態。當我檢查受監控的指標時,CloudWatch 圖表不會顯示任何違反資料點。但是,「警示歷史記錄」包含有違反資料點的項目。我想知道是什麼啟動了我的 CloudWatch 警示。

簡短說明

CloudWatch 警示會根據立即可用的資料點評估指標。警示歷史記錄會顯示,警示在該時間戳記評估的資料點記錄。不過,在警示評估之後,CloudWatch 可以發佈新的樣本。這些新樣本可能會影響 CloudWatch 在彙總指標資料時計算的值。

解決方法

尋找違反資料點

如果您的 CloudWatch 圖表未顯示任何違反資料點,表示這些資料點發生在警示評估時間之外。

例如,發生警示評估時,有 X 個樣本變成可用狀態。這 X 個樣本會產生彙總的 A 值。然後,系統會發佈新的樣本。因此,系統會針對相同的時間戳記擷取 Y 個樣本。這 Y 個樣本會產生彙總的 B 值。

在下列範例中,系統會使用前述的參數設定警示:

  • 命名空間: 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 個」要發出警示的資料點。在下列範例中,N 個之中的 M 個資料點設為三個資料點之中的兩個:

命名空間: Web_App
指標: ResponseTime
維度:host,h_04254448d4e964956
統計資料: 平均值
閾值: 0.005
ComparisonOperator: GreaterThanThreshold
期間: 60 秒 (1 分鐘)
評估期 (N): 3
要發出警示的資料點 (M): 2

當您將評估期要發出警示的資料點設為不同的值,即會設定「N 個之中的 M 個」警示。要發出警示的資料點會設定為 M評估期則設定為 N。例如,如果您在五個有 1 分鐘期間的資料點之中設定四個,評估間隔即為 5 分鐘。如果您在三個有 10 分鐘期間的資料點之中設定三個,評估間隔即為 30 分鐘。

如果您使用不同的值設定要發出警示的資料點,CloudWatch 警示便會評估更多資料點。當最低數量的資料點違反一組資料點時,CloudWatch 警示也會變更警示狀態。參數可以將警示調整為在單一資料點啟用,或者要求多個資料點轉換至 ALARM 狀態。

如需詳細資訊,請參閱 Create a CloudWatch alarm based on a static thresholdConfiguring how CloudWatch alarms treat missing data

相關資訊

為什麼我沒有收到 CloudWatch 警示觸發的 SNS 通知?

如何對處於 INSUFFICIENT_DATA 狀態的 CloudWatch 警示進行疑難排解?

為什麼我的 CloudWatch 警示在單一資料點違反後傳送通知給我?

AWS 官方
AWS 官方已更新 1 年前