为什么未触发我的AWS CloudWatch警报?

时间:2020-10-26 20:53:18

标签: amazon-web-services amazon-cloudwatch cloudwatch-alarms

我正在尝试将AWS设置为在CloudWatch警报响起时将通知发送到闲置通道。我正在遵循本指南:

https://medium.com/analytics-vidhya/generate-slack-notifications-for-aws-cloudwatch-alarms-e46b68540133

我认为我所做的一切都正确,但是我没有收到松懈的通知。我不确定该过程在哪里出现故障,但我怀疑没有触发警报。

以下是详细信息:

CloudWatch日志显示正在记录我的错误:

enter image description here

这是我的过滤器指标:

enter image description here

这是我定义要过滤的模式的方式:

enter image description here

这是警报的状态:

enter image description here

enter image description here

enter image description here

enter image description here

警报似乎正常。错误记录后5分钟,我给了它。这是否意味着未触发警报?

谢谢

更新

以下是一些更新的屏幕截图,用于解决Marcin关于时间差异的观点(请注意,CloudWatch日志以本地时间表示,而报警图以UTC表示-相差6小时):

enter image description here

enter image description here

我不确定如何解释该图。右上角显示OK,但水平的红色线条1似乎表明它处于警报状态。

2 个答案:

答案 0 :(得分:0)

在我看来,您的模式过滤器和警报触发器之间肯定有问题,因为您显然在日志流中有消息并且已经满足警报条件。

我更习惯于在JSON中查看过滤器模式,但是翻阅https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html上的文档,有一行显示:

包含除字母数字或下划线以外的字符的指标筛选条件必须放在双引号(“”)之内。

我在想您的消息模式上有一个破折号,既不是字母数字也不是下划线,所以也许 是被解释与预期不同的部分。

答案 1 :(得分:0)

我相信问题在于,如果CloudWatch筛选器具有字母数字和下划线以外的字符,则需要将其引号。

由于模式中包含破折号,因此您需要将过滤器模式放在双引号中。如果没有引号,CloudWatch可能会将破折号解释为用于排除术语的减号。

"LOGIN-SIGNUP-ERROR"

此外,正如评论中已经讨论的那样,您应该将统计信息更改为SUM而不是AVERAGE,假设您希望在每次发生此错误时都收到警报。

参考: