Amazon CloudWatch
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

创建发送电子邮件的 CPU 使用率警报

您可以创建一个 CloudWatch 警报,以便在警报状态从 OK 变为 ALARM 时使用 Amazon SNS 发送电子邮件。

在 EC2 实例的平均 CPU 使用率在指定的连续评估期内超出指定的阈值时,警报将变为 ALARM 状态。

使用 AWS 管理控制台设置 CPU 使用率警报

可以执行以下步骤以使用 AWS 管理控制台创建 CPU 使用率警报。

创建根据 CPU 使用率发送电子邮件的警报

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,依次选择 AlarmsCreate Alarm

  3. EC2 指标下面,选择一个指标类别 (例如,每个实例的指标)。

  4. 按以下所示选择指标:

    1. 选择包含实例和 CPUUtilization 指标的行。

    2. 对于统计数据,选择平均值,然后选择其中的一个预定义百分比值,或者指定一个自定义百分比值(例如 p95.45)。

    3. 选择时间段(例如 5 minutes)。

    4. 选择 Next

    
              已选中 CPUUtilization 指标
  5. 按以下所示定义警报:

    1. 警报阈值下面,输入警报的唯一名称(例如 myHighCpuAlarm)和警报描述(例如 CPU usage exceeds 70 percent)。警报名称必须仅包含 ASCII 字符。

    2. 每当下面,为选择 > 并输入 70。对于对于,输入 2。这指定如果连续两个采样周期的 CPU 使用率高于 70%,则会触发警报。

      
                  指定的警报阈值
    3. 附加设置下面,为将缺失的数据作为以下内容处理选择不良 (超出阈值),因为缺失数据点可能表示实例发生故障。

    4. 操作下面,为每当此警报选择状态为“警报”。对于 Send notification to,选择一个现有 SNS 主题或创建一个新 SNS 主题。

      
                  指定的警报操作
    5. 要创建新 SNS 主题,请选择 New list。为发送通知到输入 SNS 主题的名称(例如 myHighCpuAlarm),并为电子邮件列表输入在警报状态变为 ALARM 时通知的电子邮件地址列表(以逗号分隔)。将向每个电子邮件地址发送一封主题订阅确认电子邮件。您必须先确认订阅,然后才会发送通知。

    6. 选择 Create Alarm

使用 AWS CLI 设置 CPU 使用率警报

可以执行以下步骤以使用 AWS CLI创建 CPU 使用率警报。

创建根据 CPU 使用率发送电子邮件的警报

  1. 设置 SNS 主题。有关更多信息,请参阅设置 Amazon SNS 通知

  2. 使用 put-metric-alarm 命令创建警报,如下所示。

    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
  3. 通过使用 set-alarm-state 命令强制更改警报状态来测试警报。

    1. 将警报状态从 INSUFFICIENT_DATA 更改为 OK

      aws cloudwatch set-alarm-state --alarm-name cpu-mon --state-reason "initializing" --state-value OK
    2. 将警报状态从 OK 更改为 ALARM

      aws cloudwatch set-alarm-state --alarm-name cpu-mon --state-reason "initializing" --state-value ALARM
    3. 检查您是否收到有关警报的电子邮件通知。