根據 Metrics Insights 查詢建立 CloudWatch 警示 - Amazon CloudWatch

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

根據 Metrics Insights 查詢建立 CloudWatch 警示

CloudWatch Metrics Insights 查詢可協助您使用類似 SQL 的語法大規模查詢指標。您可以針對任何 Metrics Insights 查詢建立警示,包括傳回多個時間序列的查詢。此功能可大幅擴展您的監控選項。當您基於 Metrics Insights 查詢建立警示時,警示會在資源新增至受監控的群組或從中移除時自動調整。建立警示後,任何符合查詢定義與篩選條件的資源,其對應指標一旦可用,即會自動納入警示監控範圍。對於多時間序列查詢,傳回的每個時間序列都成為警示的貢獻者,有助於實現更精細的動態監控。

以下是 CloudWatch Metrics Insights 警示的兩個主要使用案例:

  • 極端值偵測和彙總監控

    針對傳回單一彙總時間序列的 Metrics Insights 查詢建立警示。此方法對跨基礎結構或應用程式監控彙總指標的動態警示相當有效。例如,您可以監控所有執行個體的 CPU 使用率上限,並在擴展機群時自動調整警示。

    若要建立彙總監控警示,請使用此查詢結構:

    SELECT FUNCTION(metricName) FROM SCHEMA(...) WHERE condition;
  • 依資源機群監控

    建立可監控多個時間序列的警示,其中每個時間序列皆為貢獻者,並擁有其自己的狀態。警示會在任意貢獻者進入 ALARM 狀態時啟動,觸發資源特定的動作。例如,監控多個 RDS 執行個體的資料庫連線,以防止連線遭拒。

    若要監控多個時間序列,請使用此查詢結構:

    SELECT AVG(DatabaseConnections) FROM AWS/RDS WHERE condition GROUP BY DBInstanceIdentifier ORDER BY AVG() DESC;

    建立多時間序列警示時,必須在查詢中包含兩個關鍵子句:

    • 定義如何建構時間序列並決定查詢將產生多少個時間序列的 GROUP BY 子句

    • 建立指標的確定性排序並讓警示能夠先評估最重要訊號的 ORDER BY 子句

    這些子句對於適當進行警示評估至關重要。GROUP BY 子句會將您的資料分割成不同的時間序列 (例如依執行個體 ID),ORDER BY 子句則可確保在警示評估期間一致且優先地處理這些時間序列。

根據 Metrics Insights 查詢套用至警示的限制

使用 CloudWatch Metrics Insights 警示時,請注意以下功能限制:

  • 每個區域每個帳戶使用此語法的警示數目上限為 200 個

  • 僅能使用最近 3 小時的資料評估警示條件。不過,您可以在警示的詳細資訊頁面圖表上視覺化呈現最多兩週的資料

  • 評估多個時間序列的警示會將並行轉換速率限制為 100

  • Metrics Insights 對分析或傳回的時間序列數目設有上限

如需 CloudWatch 服務配額和限制的詳細資訊,請參閱 CloudWatch 服務配額

先決條件

建立 CloudWatch Metrics Insights 警示之前,請確定:

  • 擁有建立和管理 CloudWatch 警示的適當 IAM 許可

  • AWS 帳戶中您要監控之資源的可用指標

  • SQL 查詢語法基本知識