过滤AWS Cloudwatch Lambda日志

8

我有一个Lambda函数以及它在Cloudwatch中的日志(日志组和日志流)。是否可以在Cloudwatch管理控制台中筛选包含“error”的所有日志?例如,包含“进程在完成请求之前退出”的日志。


http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/FilterAndPatternSyntax.html - Mark B
谢谢@mbaird!我已经创建了度量过滤器,但可能我漏掉了什么。过滤器无法应用到我的CloudWatch Management日志中。我是否需要通过CLI导出日志或其他方式才能查看它? - bpavlov
4个回答

4
在日志组中有一个按钮"搜索事件"。您必须先单击它。

然后它会“变成”“筛选流”: 现在你只需输入筛选器并选择开始日期时间。

0

您还可以使用CloudWatch Insights(https://aws.amazon.com/about-aws/whats-new/2018/11/announcing-amazon-cloudwatch-logs-insights-fast-interactive-log-analytics/),这是AWS对CloudWatch日志的扩展,提供了一个非常强大的查询和分析工具。但它可能会很慢。我的一些查询需要长达一分钟。好吧,如果您真的需要那些数据。

您还可以使用我创建的工具SenseLogs。它将CloudWatch数据下载到您的浏览器中,您可以进行像您所询问的查询。您可以使用全文搜索“error”,或者如果您的日志数据是结构化的(JSON),则可以使用类似于Javascript的表达式语言按字段过滤,例如:

error == 'critical'

0

这个问题有点次要,但对我们来说很相关。(我在StackOverflow的另一个答案中发布了这个问题,但认为它也与这个对话相关)

我们注意到,在日志组中有大量日志流(例如AWS Lambda函数已经被调用多次)后,跟踪和搜索日志会变得非常缓慢。这是因为“tail”类型的实用程序和搜索需要连接到每个日志流才能运行。由于您在日志组本身上设置的策略,日志事件会过期并被删除,但日志流永远不会被清理。我编写了一些小型实用程序脚本来帮助解决这个问题:

https://github.com/four43/aws-cloudwatch-log-clean

希望这能为您节省等待日志搜索的痛苦。


0

由于CloudWatch自2016年以来发生了变化,因此发布更新:

日志组中,有一个搜索全部按钮,用于全文搜索 输入图像描述

然后只需键入您要搜索的内容: 输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接