View a markdown version of this page

警报评估 - Amazon CloudWatch

警报评估

指标警报状态

指标警报可能具有以下几种状态:

  • OK – 指标或表达式在定义的阈值范围内。

  • ALARM – 指标或表达式超出定义的阈值。

  • INSUFFICIENT_DATA(数据不足) – 警报刚刚启动,指标不可用,或者指标没有足够的数据以确定警报状态。

警报评估状态

除了警报状态外,每个警报都有一个评估状态,用于提供警报评估过程的相关信息。可能会出现以下状态:

  • PARTIAL_DATA:表示由于配额限制,无法检索到所有可用数据。有关更多信息,请参阅 如何处理部分数据

  • EVALUATION_ERROR:表示警报设置中存在需要审查和更正的配置错误。有关更多详细信息,请参阅警报的 StateReason 字段。

  • EVALUATION_FAILURE:表示 CloudWatch 出现临时问题。我们建议在问题得到解决之前进行手动监控

您可以在控制台的警报详细信息中查看评估状态,也可以使用 describe-alarms CLI 命令或 DescribeAlarms API 来查看评估状态。

警报评估设置

创建警报时,请指定三个设置,以启用 CloudWatch 评估在何时更改警报状态:

  • 时间段是为了创建警报的各个数据点,而评估指标或表达式所用的时间长度。它以秒为单位。

  • Evaluation Periods(评估期)是确定警报状态时要评估的最近时间段或数据点的数量。

  • Datapoints to Alarm(触发警报的数据点数)是评估期内必须违例才能触发警报变为 ALARM(警报)状态的数据点数量。超出阈值的数据点不必是连续的,但它们必须全部在等于 Evaluation Period(评估期)的最近几个数据点范围内。

对于任何一分钟或更长的时间段,每分钟评估一次警报,评估基于周期评估周期定义的时段。例如,如果周期为 5 分钟(300 秒),评估周期为 1,则在第 5 分钟结束时,警报将根据从 1 到 5 分钟的数据进行评估。然后,在第 6 分钟结束时,根据第 2 分钟到 6 分钟的数据对警报进行评估。

如果警报周期为 10 秒、20 秒或 30 秒,则每 10 秒评估一次警报。有关更多信息,请参阅 高精度警报

如果评估周期数乘以每个评估周期的长度得到的结果超过一天,则每小时评估一次警报。有关如何评估此类多天警报的更多详细信息,请参阅 评估多天警报的示例

在下图中,指标警报的阈值设置为三个单位。Evaluation Periods(评估期)Datapoints to Alarm(触发警报的数据点数)均为 3。也就是说,在最近三个连续评估期中的所有现有数据点都高于阈值时,警报就会变为 ALARM(警报)状态。在该图中,在第三个到第五个时间段发生了这种情况。在第六个时间段,数值降至阈值以下,因此其中一个时间段被评估为未违例,且警报状态恢复为 OK(正常)。在第九个时间段,再次超出阈值,但仅一个时间段超出阈值。因此,警报状态保持为 OK(正常)。

触发警报阈值。

在将 Evaluation Periods(评估期)Datapoints to Alarm(触发警报的数据点数)配置为不同的值时,您将设置“M(最大为 N)”警报。警报的数据点数为(“M”),评估期为(“N”)。评估周期是指评估次数乘以每个周期长度所得的数值。例如,如果为 1 分钟的评估期配置 4 个数据点(最大为 5 个数据点),则评估间隔为 5 分钟。如果为 10 分钟的评估期配置 3 个数据点(最大为 3 个数据点),则评估间隔为 30 分钟。

注意

如果创建警报后不久便有数据点缺失,并且该指标在您创建警报之前便已报告给 CloudWatch,则 CloudWatch 在评估警报时会检索从创建警报之前算起的最近数据点。

默认情况下,CloudWatch 使用滑动窗口进行警报评估。每次评估警报时,窗口向前滑动一分钟,且窗口边界不与挂钟时间对齐。您也可以将评估窗口与挂钟时间边界及时区对齐。有关更多信息,请参阅 警报评估窗口

高精度警报

如果对高精度指标设置警报,则您可以指定 10 秒、20 秒或 30 秒时长的高精度警报。高精度警报的费用较高。有关高精度指标的更多信息,请参阅 发布自定义指标(PutMetricData/EMF)

评估多天警报的示例

如果评估周期数乘以每个评估周期的长度得到的结果超过一天,则警报为多天警报。多天警报每小时评估一次。在评估多天警报时,CloudWatch 在评估时仅考虑截至当前小时 00 分的指标。这种整点行为以及以下示例,适用于使用滑动评估窗口(默认)的警报。

例如,假设有一个警报会监测每隔 3 天在 10:00 运行一次的作业。

  1. 10:02,作业失败

  2. 在 10:03,警报会进行评估并保持 OK 状态,原因是评估只考虑截至 10:00 的数据。

  3. 在 11:03,警报会考虑 11:00 之前的数据并转为 ALARM 状态。

  4. 您在 11:43 更正了错误,作业现在成功运行。

  5. 12:03,警报再次进行评估,检测到作业正在成功运行,然后返回到 OK 状态。

如果警报改用挂钟时间评估窗口,CloudWatch 会将评估窗口对齐到与警报所选时区中的时段相匹配的挂钟时间边界,而非锚定在整点时刻。例如,周期为一日的多日警报会评估所选时区中于午夜结束的完整日历日,而周期为一周的警报则评估完整的日历周。每当抵达窗口边界,窗口将向前滑动一整个周期;因此警报仅在单个日历周期完全结束后,才会将该周期数据纳入评估。有关更多信息,请参阅 警报评估窗口