创建 CPU 使用率告警
您可以创建在告警状态从 OK
(正常)变为 ALARM
(告警)时使用 Amazon SNS 发送通知的 CloudWatch 告警。
在 EC2 实例的平均 CPU 使用率在指定的连续评估期内超出指定的阈值时,告警将变为 ALARM
(告警)状态。
使用 AWS Management Console 设置 CPU 使用率告警
可以执行以下步骤以使用 AWS Management Console创建 CPU 使用率警报。
根据 CPU 利用率创建警报
访问 https://console.aws.amazon.com/cloudwatch/
,打开 CloudWatch 控制台。 -
在导航窗格中,依次选择 Alarms(告警)和 All alarms(所有告警)。
-
选择创建警报。
选择选择指标。
-
在 All metrics(所有指标)选项卡中,选择 EC2 metrics(EC2 指标)。
选择一个指标类别(例如,Per-Instance Metrics(每个实例的指标))。
-
找到您希望在 InstanceId(实例 ID)列和 Metric Name(指标名称)中的 CPUUtilization(CPU 使用率)中列出的实例所在的行。选中此行旁边的复选框,然后选择 Select metric(选择指标)。
在 Specify metric and conditions(指定指标和条件)下,对于 Statistic(统计数据),选择 Average(平均值),然后选择一个预定义百分位数,或指定自定义百分位数(例如
p95.45
)。-
选择时间段(例如
5 minutes
)。 在条件下面,指定以下内容:
对于 Threshold type(阈值类型),选择 Static(静态)。
-
对于 Whenever CPUUtilization is(每当 CPU 利用率),指定 Greater(大)。在 than...(于...)下,指定在 CPU 使用率超过此百分比时触发告警进入“ALARM(告警)”状态的阈值。例如,70。
-
选择其他配置。对于触发警报的数据点数,指定必须有多少个评估期(数据点)处于
ALARM
状态才能触发警报。如果此处的两个值匹配,则会创建一个告警;如果多个连续评估期违例,该告警将变为ALARM
(告警)状态。要创建“M(最大为 N)”告警,为第一个值指定的数字应小于为第二个值指定的数字。有关更多信息,请参阅 评估告警。
对于缺失数据处理,选择在缺失某些数据点时的警报行为。有关更多信息,请参阅 配置 CloudWatch 告警处理缺失数据的方式。
-
如果警报将百分比值作为监控的统计数据,将显示样本数少的百分比框。使用它来选择是评估还是忽略采样率低的案例。如果选择忽略 (保持警报状态),在样本大小太小时,将始终保持当前警报状态。有关更多信息,请参阅 基于百分位数的 CloudWatch 告警和小数据样本。
选择下一步。
-
在 Notification(通知)下,选择 In alarm(处于告警中),并选择当告警处于
ALARM
状态时要通知的 SNS 主题要使告警为相同告警状态或不同告警状态发送多个通知,请选择添加通知。
要让警报不发送通知,请选择删除。
-
在完成后,选择下一步。
-
输入警报的名称和说明。然后选择下一步。
名称必须仅包含 UTF-8 字符,并且不能包含 ASCII 控制字符。描述可以包含 Markdown 格式,该格式仅在 CloudWatch 控制台的警报详细信息选项卡中显示。Markdown 非常适合用于向运行手册或其他内部资源添加链接。
在 Preview and create 下面,确认具有所需的信息和条件,然后选择 Create alarm。
使用 AWS CLI 设置 CPU 使用率告警
可以执行以下步骤以使用 AWS CLI创建 CPU 使用率警报。
根据 CPU 利用率创建警报
-
设置 SNS 主题。有关更多信息,请参阅 设置 Amazon SNS 通知。
-
使用 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 --period300
--threshold70
--comparison-operator GreaterThanThreshold --dimensions Name=InstanceId,Value=i-12345678
--evaluation-periods2
--alarm-actions arn:aws:sns:us-east-1
:111122223333
:my-topic
--unit Percent -
通过使用 set-alarm-state 命令强制更改警报状态来测试警报。
-
将告警状态从
INSUFFICIENT_DATA
(数据不足)更改为OK
(正常)。aws cloudwatch set-alarm-state --alarm-name
cpu-mon
--state-reason "initializing" --state-value OK -
将告警状态从
OK
(正常)更改为ALARM
(告警)。aws cloudwatch set-alarm-state --alarm-name
cpu-mon
--state-reason "initializing" --state-value ALARM -
检查您是否收到有关告警的电子邮件通知。
-