

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

# 建立 CPU 使用量警示
<a name="US_AlarmAtThresholdEC2"></a>

您可以建立 CloudWatch 警示，在警示狀態從 `OK` 變更至 `ALARM` 時傳送使用 Amazon SNS 的通知。

警示會在 EC2 執行個體的平均 CPU 用量超過連續指定期間的指定閾值時變更為 `ALARM` 狀態。

## 使用 設定 CPU 用量警示 AWS 管理主控台
<a name="cpu-usage-alarm-console"></a>

使用這些步驟來使用 AWS 管理主控台 建立 CPU 用量警示。

**根據 CPU 使用率建立警示**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 **Alarms** (警示)、**All alarms** (所有警示)。

1. 選擇 **Create alarm** (建立警示)。

1. 選擇 **Select metric** (選取指標)。

1. 在 **All metrics (所有指標)** 標籤中，選擇 **EC2 metrics (EC2 指標)**。

1. 選擇指標類別 (例如，**Per-Instance Metrics (每個執行個體指標)**)。

1. 尋找具有要在 **InstanceId** 欄中列出的執行個體和在 **Metric Name** 欄中的 **CPUUtilization** 的資料列。選取此資料列旁的核取方塊，然後選擇 **Select metric (選取指標)**。

1. 在 **Specify metric and conditions (指定指標和條件)** 下，針對 **Statistic (統計資訊)**，選擇 **Average (平均)**，選擇其中一個預先定義的百分位數，或指定自訂的百分位數 (例如 **p95.45**)。

1. 選擇期間 (例如，**5 minutes**)。

1. 在 **Conditions (條件)** 下，指定以下內容：

   1. 對於**閾值類型**，選擇**靜態**。

   1. 針對 **Whenever CPUUtilization is (每當 CPUUtilization 為)**，指定 **Greater (大於)**。在 **than... (比...)** 下，指定當 CPU 使用率超過此百分比時，觸發警示進入 ARARM 狀態的閾值。例如：70。

   1. 選擇 **Additional configuration (其他組態)**。針對 **Datapoints to alarm (要警示的資料點)**，請指定 (資料點) 必須處於 `ALARM` 狀態多少評估期間，才會觸發警示。如果此處的兩個值相符，您便可以建立警示，在許多連續期間違規時移至 `ALARM` 狀態。

      若要建立 N 個中有 M 個警示，請針對第一個值，指定低於您為第二個值所指定值的值。如需詳細資訊，請參閱[警示評估](alarm-evaluation.md)。

   1. 針對 **Missing data treatment (遺失資料處理)**，選擇警示在遺失某些資料點時的行為。如需詳細資訊，請參閱[設定 CloudWatch 警示如何處理遺失資料](alarms-and-missing-data.md)。

   1. 若警示使用百分位數作為監控統計資料，則會出現一個 **Percentiles with low samples (低樣本的百分位數)** 方塊。請使用它來選擇是要評估還是忽略具有低抽樣率的案例。若您選擇 **ignore (maintain alarm state) (忽略 (維持警示狀態))**，則會在抽樣大小過低時一律維持目前的警示狀態。如需詳細資訊，請參閱[以百分位數為基礎的警示和低資料範例](percentiles-with-low-samples.md)。

1. 選擇**下一步**。

1. 在 **Notification (通知)** 下，選擇 **In alarm (在警示中)**，然後選取當警示處於 `ALARM` 狀態時要通知的 SNS 主題。

   若要讓警示針對相同的警示狀態或不同警示狀態傳送多個通知，請選擇 **Add notification (新增通知)**。

   若要讓警示不傳送通知，請選擇 **Remove (移動)**。

1. 完成時，請選擇**下一步**。

1. 輸入警示的名稱與說明。然後選擇**下一步**。

   此名稱只能包含 UTF-8 字元，不能包含 ASCII 控制字元。說明可以包括 Markdown 格式，僅在 CloudWatch 主控台的警示**詳細資訊**標籤中顯示。Markdown 對於將連結新增至執行手冊或其他內部資源很實用。

1. 在 **Preview and create (預覽及建立)** 下，請確認資訊和條件都是您希望的內容，然後選擇 **Create alarm (建立警示)**。

## 使用 設定 CPU 用量警示 AWS CLI
<a name="cpu-usage-alarm-cli"></a>

使用這些步驟來使用 AWS CLI 建立 CPU 用量警示。

**根據 CPU 使用率建立警示**

1. 設定 SNS 主題。如需詳細資訊，請參閱[設定 Amazon SNS 通知](Notify_Users_Alarm_Changes.md#US_SetupSNS)。

1. 使用 [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html) 命令建立警示，如下所示。

   ```
   aws cloudwatch put-metric-alarm --alarm-name {{cpu-mon}} --alarm-description "Alarm when CPU exceeds 70%" --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average --period {{300}} --threshold {{70}} --comparison-operator GreaterThanThreshold --dimensions  Name=InstanceId,Value={{i-12345678}} --evaluation-periods {{2}} --alarm-actions arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{my-topic}} --unit Percent
   ```

1. 透過使用 [set-alarm-state](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/set-alarm-state.html) 命令來強制變更警示狀態，以測試警示。

   1. 將警示的狀態從 `INSUFFICIENT_DATA` 變更為 `OK`。

      ```
      aws cloudwatch set-alarm-state --alarm-name {{cpu-mon}} --state-reason "initializing" --state-value OK
      ```

   1. 將警示的狀態從 `OK` 變更為 `ALARM`。

      ```
      aws cloudwatch set-alarm-state --alarm-name {{cpu-mon}} --state-reason "initializing" --state-value ALARM
      ```

   1. 確認您已收到一封與警示相關的通知。