

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

# 使用 Amazon CloudWatch 警示
<a name="CloudWatch_Alarms"></a>

您可以建立警示來監控指標，並於超過閾值時傳送通知，或自動變更您所監控的資源。例如，您可以監控 CPU 用量和 Amazon EC2 執行個體的磁碟讀取和寫入，然後使用該資料，判斷您是否應該啟動其他的執行個體來處理增加的負載。您也可以使用此資料來停止較不常使用的執行個體，以節省成本。

 您可以在 Amazon CloudWatch 中建立*指標*和*複合*警示。

您可以在 Metrics Insights 查詢上建立警示，這些查詢使用 AWS 資源標籤來篩選和分組指標。若要搭配警示使用標籤，請在 [CloudWatch 主控台](https://console.aws.amazon.com/cloudwatch/)上選擇**設定**。在 **CloudWatch 設定**頁面的**在遙測上啟用資源標籤**下，選擇**啟用**。對於自動適應標記策略的內容感知監控，請使用 AWS 資源標籤在 Metrics Insights 查詢上建立警示。這可讓您監控帶特定應用程式或環境標籤的所有資源。
+ *指標警示*可監看單一 CloudWatch 指標或基於 CloudWatch 指標的數學表達式結果。警示會根據在數個期間與閾值相關的指標值或表達式值來執行一或多個動作。該動作可以向 Amazon SNS 主題傳送通知、執行 Amazon EC2 動作或 Amazon EC2 Auto Scaling 動作、在 CloudWatch 操作調查中啟動調查，或者在 Systems Manager 中建立 OpsItem 或事件。
+ *PromQL 警示*會針對透過 CloudWatch OTLP 端點擷取的指標，使用 Prometheus 查詢語言 (PromQL) 立即查詢來監控指標。警示會以參與者身分追蹤個別違規時間序列，並使用以持續時間為基礎的擱置和復原期間來控制狀態轉換。如需詳細資訊，請參閱[PromQL 警示](alarm-promql.md)。
+ *複合警示*包括一個規則表達式，該表達式會考慮您所建立之其他警示的警示狀態。僅在符合規則的所有條件時，複合警示才會進入 ALARM 狀態。複合警示規則表達式中指定的警示可以包括指標警示和其他複合警示。

  使用複合警示可以減少警示噪音。您可以建立多個指標警示，也可以建立一個複合警示，並僅針對複合警示設定提醒。例如，僅在所有的基礎指標警示都處於 ALARM 狀態時，複合警示才可能進入 ALARM 狀態。

  複合警示可以在變更狀態時傳送 Amazon SNS 通知，並且可以在進入警示狀態時建立調查、Systems Manager OpsItem 或事件，但無法執行 EC2 動作或 Auto Scaling 動作。

**注意**  
 您可以在 AWS 帳戶中建立任意數量的警示。

 您可以在儀表板中新增警示，以便跨多個區域監控和接收 AWS 資源和應用程式的相關提醒。將警示新增至儀表板後，當警示處於 `INSUFFICIENT_DATA` 狀態時會變成灰色，當處於 `ALARM` 狀態時則會變成紅色。處於 `OK` 狀態的所示警示沒有顏色。

 您還可以在 CloudWatch 主控台導覽窗格中，從 *Favorites and recents* (我的最愛和最近的項目) 選項將最近造訪過的警示加入我的最愛。*Favorites and recents* (我的最愛和最近的項目) 選項具備我的最愛警示和最近造訪過的警示資料欄。

只有在警示變更狀態時，警示才會叫用動作。此例外狀況適用於針對 Auto Scaling 動作的警示。對於 Auto Scaling 動作，警示維持在新狀態的每一分鐘，警示會持續叫用動作。

鬧鐘可以監看相同帳戶中的指標。如果您已在 CloudWatch 主控台中啟用跨帳戶功能，您也可以建立警報來監控其他 AWS 帳戶中的指標。不支援建立跨帳戶複合警示。支援建立使用數學表達式的跨帳戶警示，除了這個之外，跨帳戶警示不支援 `ANOMALY_DETECTION_BAND`、`INSIGHT_RULE`，以及 `SERVICE_QUOTA` 函數。

**注意**  
CloudWatch 不會測試或驗證您指定的動作，也不會偵測因為嘗試叫用不存在的動作而產生的任何 Amazon EC2 Auto Scaling 或 Amazon SNS 錯誤。請確定您的警示動作存在。

## CloudWatch 警示的常見功能
<a name="common-features-of-alarms"></a>

下列功能適用於所有 CloudWatch 警示：
+ 您可建立的警示數量沒有限制。若要建立或更新警示，您可以使用 CloudWatch 主控台、[PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) API 動作或 AWS CLI中的 [put-metric-](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html)命令。
+ 警示名稱只能包含 UTF-8 字元，不能包含 ASCII 控制字元。
+ 您可以列出任何或所有目前設定的警示，並使用 CloudWatch 主控台、[DescribeAlarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) API 動作或 AWS CLI中的 [describe-alarms](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/describe-alarms.html) 命令，列出任何特定狀態中的警示。
+ 您可以透過使用 [DisableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DisableAlarmActions.html) 和 [EnableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_EnableAlarmActions.html) API 動作，或是 AWS CLI中的 [disable-alarm-actions](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/disable-alarm-actions.html) 和 [enable-alarm-actions](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/enable-alarm-actions.html) 命令，停用和啟用警示動作。
+ 您可以透過使用 [SetAlarmState](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_SetAlarmState.html) API 動作或 AWS CLI中的 [set-alarm-state](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/set-alarm-state.html) 命令將警示設定為任何狀態，進而測試警示。此臨時狀態變更只持續直到下一個警示比較發生為止。
+ 您可以在建立自訂指標之前，為自訂指標建立警示。若要讓警示有效，您必須包含自訂指標的所有維度，除了在警示定義中的指標命名空間和指標名稱。若要執行此操作，您可以使用 [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html) API 動作，或 AWS CLI中的 [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html) 命令。
+ 您可以使用 CloudWatch 主控台、[DescribeAlarmHistory](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarmHistory.html) API 動作，或 AWS CLI中的 [describe-alarm-history](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/describe-alarm-history.html) 命令，查看警示的歷史記錄。CloudWatch 會保留警示歷史記錄 30 天。每個狀態轉換都標示有唯一時間戳記。在極少數情況下，您歷史記錄可能會顯示一個以上的狀態變更通知。時間戳記可讓您確認獨特的狀態變更。
+  您可以在 CloudWatch 主控台導覽窗格中，從 *Favorites and recents* (我的最愛和最近的項目) 選項將警示加入我的最愛，方法是將滑鼠停留在您想要加入我的最愛的警示上，然後選擇旁邊的星號。
+ 警示設有評估期間配額。評估期間的計算方法是，將警示期間乘以所用評估期間的數目。
  + 對於期間至少為一小時 (3600 秒) 的警示，評估期間上限為七天。
  + 對於期間較短的警示，評估期間上限為一天。
  + 對於使用自訂 Lambda 資料來源的警示，評估期間上限為一天。

**注意**  
在某些情況下，某些 AWS 資源不會將指標資料傳送至 CloudWatch。  
例如，Amazon EBS 可能不會傳送並未連接到 Amazon EC2 執行個體可用磁碟區的指標資料，因為針對該磁碟區沒有要監控的指標活動。若您有為這類指標設定警示，您可能會注意到其狀態變更為 `INSUFFICIENT_DATA`。這可能表示您的資源並未處在作用中，而不一定表示發生問題。您可以指定每個警示要如何處理遺失的資料。如需詳細資訊，請參閱[設定 CloudWatch 警示如何處理遺失資料](alarms-and-missing-data.md)。