如何从日志组度量过滤器中创建CloudWatch告警



我正在尝试从日志组度量过滤器创建CloudWatch警报。我已经创建了度量过滤器,但我无法设置警报,因为似乎没有数据图表。

我正在尝试设置一个度量过滤器来跟踪我们的ECS容器日志中的502个错误。

我去CloudWatch>记录组并选择我们的组'example-ecs'

该组包含来自ECS容器的日志流。有很多,当网站被部署时,一个新的流被创建。我认为这是预料之中的,有100个日志。

web/example-task-production/1XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX   2022-04-14 13:54:14 (UTC+02:00)
web/example-task-production/2XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX   2022-05-05 12:09:00 (UTC+02:00)
web/example-task-production/3XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX   2022-04-04 18:11:03 (UTC+02:00)
web/example-task-production/4XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX   2022-04-05 09:47:15 (UTC+02:00)

如果我使用以下过滤器'搜索所有':

[timestamp, timezone, server, from, ip, request, method, url, response, http, codetitle, code=502, bytes, sent, time]

我得到这些搜索结果(如预期的):

05/Apr/2022:16:04:28 +0000 Server:  From: XXX.XX.X.XXX Request: POST https://example.com/broken/page Response: HTTP Code: 502 Bytes Sent: 315 Time: 0.042
05/Apr/2022:16:42:02 +0000 Server:  From: XXX.XX.X.XXX Request: POST https://example.com/broken/page Response: HTTP Code: 502 Bytes Sent: 315 Time: 0.062
05/Apr/2022:19:14:50 +0000 Server:  From: XXX.XX.X.XXX Request: POST https://example.com/broken/page Response: HTTP Code: 502 Bytes Sent: 315 Time: 0.043

然后,我使用这个过滤器模式创建了一个度量过滤器。使用以下设置:

过滤模式:

[timestamp, timezone, server, from, ip, request, method, url, response, http, codeTitle, code=502, bytes, sent, time]

"测试模式"也匹配上面的测试。

过滤器名称:HTTP502Errors
Metric namespace:exampleemetric
度量名称:ServerErrorCount
度量值:1
默认值-可选值:0
单位-可选:

在过去的24小时内我应该有5条日志。当我尝试绘制这个新指标的图表或创建一个警报时,其中似乎没有数据。我该怎么做呢?

当您创建一个度量过滤器时,您只能看到在度量过滤器创建之后生成的数据。

从文档:

过滤器不回溯过滤数据。过滤器仅发布创建过滤器后发生的事件的度量数据点

因此您将无法看到5个匹配的日志条目,只能看到新的。

最新更新