关于 Cloudwatch 警报的困惑

问题描述 投票:0回答:3

我有一个 Cloudwatch 警报,它从 Canary 接收数据。我的金丝雀尝试访问一个网站,如果该网站正常运行并响应,则数据点为 0,如果服务器返回某种错误,则数据点为 1。我希望这是相当标准的金丝雀内容。这只金丝雀每 30 分钟运行一次。

我的Cloudwatch闹钟配置如下:

按照预期的行为,如果我的金丝雀连续 3 次无法访问网站,那么警报应该响起。

不幸的是,事实并非如此。我的警报是通过以下金丝雀数据触发的:

  1. 2 月 8 日 @ 晚上 7:51(MST)
  2. 2 月 8 日 @ 晚上 8:22(MST)
  3. 2 月 8 日 @ 晚上 9:52(MST)

这三个数据点怎么可能触发我的警报?

我实际收到的电子邮件如下:

您收到此电子邮件是因为您在美国西部(俄勒冈)区域的 Amazon CloudWatch 警报“....”已进入警报状态,因为“已超过阈值:最后 3 个数据点中有 3 个 [1.0 (09/02/ 21 04:23:00)、1.0 (09/02/21 02:53:00)、1.0 (09/02/21 02:23:00)] 大于或等于阈值 (1.0)(最小 3 OK -> ALARM 转换的数据点)。”于“2021 年 2 月 9 日星期二 04:53:30 UTC”。

我更困惑了,因为这些数据点上的时间不一致。如果我将这些时间转换为 MST,我们有:

  1. 2 月 8 日@ 7:23 PM
  2. 2 月 8 日@ 7:53 PM
  3. 2 月 8 日 @ 晚上 9:23

报告数据点的时间范围是两小时窗口,当时我已明确指定我的评估期为 1.5 小时。

如果我在 cloudwatch 中查看闹钟的“指标”图表,那就更没有意义了:

此图表中的点如下所示:

  1. 2 月 9 日 @ 2:30 UTC
  2. 2 月 9 日@ 3:00 UTC
  3. 2 月 9 日 @ 4:30 UTC

这似乎又是 2 小时的评估期。

帮忙?我不明白这个。

如果我的金丝雀连续 3 次无法访问网站(两次检查之间等待 30 分钟),如何配置警报以触发?

amazon-web-services amazon-cloudwatch
3个回答
0
投票

我有两件事来回答这个问题:

  1. 每次金丝雀运行时,都会将 1 个数据点发送到 cloudwatch。因此,如果您在 30 分钟内检查 3 次失败以触发警报,那么您的金丝雀应该每隔 10 分钟运行一次。因此,在 30 分钟内,3 个数据点和所有 3 个失败的数据点都会触发警报。

  2. 由于某些原因,统计数据对我不起作用,所以我使用了计数选项。也许这会有所帮助。

我的建议是每 5 分钟运行一次 Canary。因此,在 30 分钟内获得 6 个数据点,并在 count=4 时创建警报。


0
投票

您的警报按文档中所述运行。当您将“周期”设置为 30 分钟,并将“警报数据点”设置为 3 (N) 中的 3 (M) 时,您将指示在过去 90 分钟内出现 3 个或更多 30 分钟间隔数据点时触发警报(周期 * N [30 *3]) 超出警报阈值。

如果相反,您希望在以下情况下触发警报: 在过去 3 至 10 分钟的时间间隔内,数据点超出了阈值。您可以将周期设置为:10 分钟,将警报数据点设置为:3 个,共 3 个。


-1
投票

我读取您配置的方式,您的警报预计在 30 分钟窗口内找到 3 个数据点 - 但您的指标仅每 30 分钟更新一次,因此这种情况永远不会成立。

您需要增加时间段,以便有 3 个或更多可用指标才能触发警报。

© www.soinside.com 2019 - 2024. All rights reserved.