如何确保 CloudWatch 警报激活操作?

1 分钟阅读
0

即使我从 CloudWatch 图表中看到警报指标超出配置的阈值,也没有激活我的 Amazon CloudWatch 警报。如何确保激活 CloudWatch 警报并执行警报操作?

简短描述

评测时间聚合指标(例如,5 分钟平均值)的 CloudWatch 警报会以滚动窗口的方式连续执行评测。如果在评估期内收集到的所有数据点均未超过配置的阈值,就不会激活 CloudWatch 警报。

在警报状态发生更改并在指定的周期数内保持该状态时,CloudWatch 警报会启动操作。有关更多信息,请参阅创建 CloudWatch 警报

**重要提示:**对于与 Amazon EC2 Auto Scaling 操作关联的 CloudWatch 警报,此行为有一个例外。当 CloudWatch 警报处于指定状态时,该警报会继续激活 Auto Scaling 操作。即使没有状态更改并且警报仍处于该状态,也会发生这种情况。

解决方法

务必在创建警报时考虑 CloudWatch 用于评测时间聚合指标的机制。

考虑降低指标数据阈值,以确保警报按预期工作。

故障排除示例

在本示例中,有一个基于平均 CPU 利用率的警报。警报配置的阈值大于 45。它至少连续运行三个周期,每个周期为 5 分钟。以下时间聚合指标的评估周期为 3 秒,周期为 300 秒:

  • 05:25:00: data: {Avg=61.123}
  • 05:30:00: data: {Avg=57.847}
  • 05:35:00: data: {Avg=60.503}
  • 05:40:00: data: {Avg=55.473}
  • 05:45:00: data: {Avg=41.685}
  • 05:50:00: data: {Avg=58.390}
  • 05:55:00: data: {Avg=57.846}
  • 06:00:00: data: {Avg=61.123}

这些数据点会导致以下警报状态:

  • 05:35 ALARM
  • 05:40 ALARM
  • 05:45 ALARM 到 OK
  • 05:50 OK
  • 05:55 OK
  • 06:00 OK 到 ALARM

在 05:55 收集的数据点超过平均 CPU 利用率阈值的 45%。但是,警报仍然处于 OK 状态,并且不会在 05:55 激活操作。这是因为在 05:45:00 收集的数据点未超出此阈值,而且此数据点包含在 05:55 的评估中。但 5 分钟后,警报会启动操作,因为警报状态在 06:00 已从 OK 更改为 ALARM。

对于以下时间聚合指标,警报状态在 05:35 之后为 ALARM,因为所有数据点均超过了平均 CPU 利用率阈值的 45%。由于没有任何状态更改,因此不会激活警报操作。

  • 05:25:00: data: {Avg=61.123}
  • 05:30:00: data: {Avg=57.847}
  • 05:35:00: data: {Avg=60.503}
  • 05:40:00: data: {Avg=55.473}
  • 05:45:00: data: {Avg=45.075}
  • 05:50:00: data: {Avg=58.390}
  • 05:55:00: data: {Avg=57.847}
  • 06:00:00: data: {Avg=61.123}

相关信息

适用于 Amazon EC2 Auto Scaling 的动态扩展

查看可用指标

AWS 官方
AWS 官方已更新 2 年前