0

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

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

我认为我做的一切都正确,但我没有收到我的松弛通知。我不确定它在哪里失败,但我怀疑警报没有被触发。

以下是详细信息:

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

在此处输入图像描述

这是我的过滤指标:

在此处输入图像描述

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

在此处输入图像描述

这是警报的状态:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

闹钟好像没问题。我在记录错误后 5 分钟给了它。这是否意味着没有触发警报?

谢谢

更新

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

在此处输入图像描述

在此处输入图像描述

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

4

2 回答 2

0

我认为问题在于,如果 CloudWatch 过滤器的字符不是字母数字和下划线,则需要引用它们。

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

"LOGIN-SIGNUP-ERROR"

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

参考:

于 2020-10-27T00:19:39.813 回答
0

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

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

包含除字母数字或下划线以外的字符的度量筛选条件必须放在双引号 ("") 内。

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

于 2020-10-26T23:05:20.707 回答