本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
根據 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 查詢語法基本知識