

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

# 建立會傳送電子郵件的負載平衡器延遲警示
<a name="US_AlarmAtThresholdELB"></a>

您可以設定一個 Amazon SNS 通知和設定警示來監控 Classic Load Balancer 中超過 100 毫秒的延遲。

## 使用 設定延遲警示 AWS 管理主控台
<a name="load-balancer-alarm-console"></a>

使用這些步驟來使用 AWS 管理主控台 建立負載平衡器延遲警示。

**若要建立負載平衡器延遲警示**

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

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

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

1. 在 **CloudWatch Metrics by Category (依類別的 CloudWatch 指標)** 中，選擇 **ELB Metrics (ELB 指標)** 類別。

1. 選取 Classic Load Balancer 的列以及 **Latency** (延遲) 指標。

1. 針對統計資訊，選擇 **Average (平均)**，選擇其中一個預先定義百分位數，或指定自訂的百分位數 (例如 **p95.45**)。

1. 針對期間，請選擇 **1 Minute (1 分鐘)**。

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

1. 在 **Alarm Threshold (警示閾值)** 下，請輸入警示的唯一名稱 (例如，**myHighCpuAlarm**) 和警示的說明 (例如，**Alarm when Latency exceeds 100s**)。警示名稱只能包含 UTF-8 字元，不能包含 ASCII 控制字元。

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

1. 在 **Whenever (無論何時)** 下，針對 **is (是)**，選擇 **>**，然後輸入 **0.1**。針對 **for (期間)**，輸入 **3**。

1. 在 **Additional settings (其他設定)** 下，針對 **Treat missing data as (將遺失資料視為)**，請選擇 **ignore (maintain alarm state) (忽略 (維持警示狀態))**，讓遺失資料點不會觸發警示狀態變更。

   針對 **Percentiles with low samples (低樣本的百分位數)**，選擇 **ignore (maintain the alarm state) (忽略 (維持警示狀態))**，讓警示僅評估具足夠資料樣本數的狀況。

1. 在**動作**下的 **每當此警示**，選擇**狀態為警示**。在 **Send notification to (傳送通知至)** 中，選擇現有 SNS 主題或建立新的主題。

   若要建立 SNS 主題，請選擇 **New list (新增清單)**。針對 **Send notification to (傳送通知至)**，輸入 SNS 主題的名稱 (例如，**myHighCpuAlarm**)，並針對 **Email list (電子郵件清單)**，輸入以逗號分隔的電子郵件地址清單，當警示變更為 `ALARM` 狀態時，這些電子郵件地址將會收到通知。每個電子郵件地址都會收到主題訂閱確認電子郵件。您必須確認訂閱，才會傳送通知。

1. 選擇**建立警示** 。

## 使用 設定延遲警示 AWS CLI
<a name="load-balancer-alarm-cli"></a>

使用這些步驟來使用 AWS CLI 建立負載平衡器延遲警示。

**若要建立負載平衡器延遲警示**

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) 命令建立警示，如下所示。

   ```
   1. aws cloudwatch put-metric-alarm --alarm-name {{lb-mon}} --alarm-description "Alarm when Latency exceeds 100s" --metric-name Latency --namespace AWS/ELB --statistic Average --period 60 --threshold 100 --comparison-operator GreaterThanThreshold --dimensions Name=LoadBalancerName,Value={{my-server}} --evaluation-periods 3 --alarm-actions arn:aws:sns:{{us-east-1}}:{{111122223333}}:{{my-topic}} --unit Seconds
   ```

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

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

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

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

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

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