

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

# 警示資料查詢
<a name="alarm-data-queries"></a>

CloudWatch 警示可以監控各種資料來源。根據您的監控需求選擇適當的查詢類型。

## 指標
<a name="alarm-query-metrics"></a>

監控單一 CloudWatch 指標。這是追蹤資源效能最常見的警示類型。如需指標的詳細資訊，請參閱 [CloudWatch 指標概念](cloudwatch_concepts.md)。

如需詳細資訊，請參閱[建立以靜態閾值為基礎的 CloudWatch 警示](ConsoleAlarms.md)。

## 指標數學
<a name="alarm-query-metric-math"></a>

您可以在根據一個或多個 CloudWatch 指標的數學表達式所產生的結果上建立警示。用於警示的數學表達式最多可包含 10 個指標。每個指標都必須使用相同的期間。

針對以數學表達式為基礎的警示，您可以指定您希望 CloudWatch 處理遺失資料點的方式。在此情況下，如果數學表達式未傳回該資料點的值，會將該資料點視為遺失。

以數學表達式為基礎的警示無法執行 Amazon EC2 動作。

如需指標數學表達式和語法的詳細資訊，請參閱[搭配 CloudWatch 指標使用數學表達式](using-metric-math.md)。

如需詳細資訊，請參閱[根據指標數學運算式建立 CloudWatch 警示](Create-alarm-on-metric-math-expression.md)。

## Metrics Insights
<a name="alarm-query-metrics-insights"></a>

 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` 子句則可確保在警示評估期間一致且優先地處理這些時間序列。

如需如何建立多時間序列警示的詳細資訊，請參閱 [根據多時間序列指標洞見查詢建立警示](multi-time-series-alarm.md)。

## 日誌群組指標篩選條件
<a name="alarm-query-log-metric-filter"></a>

 您可以根據日誌群組指標篩選條件建立警示。借助指標篩選條件，您可在要傳送至 CloudWatch 的日誌資料中尋找詞彙和模式。如需詳細資訊，請參閱《Amazon CloudWatch Logs 使用者指南**》中的「[使用篩選條件從日誌事件建立指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html)」。

如需如何根據日誌群組指標篩選條件建立警示的詳細資訊，請參閱 [針對日誌的警示](Alarm-On-Logs.md)。

## PromQL
<a name="alarm-query-promql"></a>

您可以建立警示，使用 Prometheus 查詢語言 (PromQL) 立即查詢來監控透過 CloudWatch OTLP 端點擷取的指標。

如需 PromQL 警示如何運作的詳細資訊，請參閱 [PromQL 警示](alarm-promql.md)。

如需如何建立 PromQL 警示的詳細資訊，請參閱 [使用 PromQL 查詢建立警示](Create_PromQL_Alarm.md)。

## 外部資料來源
<a name="alarm-query-external"></a>

您可以建立警示，以監視不在 CloudWatch 中的資料來源的指標。如需有關建立其他資料來源連線的詳細資訊，請參閱 [從其他資料來源中查詢指標](MultiDataSourceQuerying.md)。

如需如何根據連線的資料來源建立警示的詳細資訊，請參閱 [根據連線的資料來源建立警示](Create_MultiSource_Alarm.md)。