过滤AWS Cloudwatch Lambda的日志

时间:2015-12-16 12:28:23

标签: amazon-web-services aws-lambda amazon-cloudwatch

我有一个Lambda函数及其在Cloudwatch(日志组和日志流)中的日志。是否可以过滤(在Cloudwatch管理控制台中)包含"错误"的所有日志?例如,在完成请求之前包含"流程的日志"。

3 个答案:

答案 0 :(得分:2)

在日志组中,有一个按钮" 搜索事件"。你必须先点击它。

然后"改变"到" 过滤流":

现在您只需输入过滤器并选择开始日期时间。

答案 1 :(得分:0)

所以这是一个侧面问题,但它对我们很重要。 (我在StackOverflow上将其发布到另一个答案,但认为这也与此对话相关)

我们注意到,在日志组中包含大量Log Streams之后,跟踪和搜索日志变得非常慢,就像AWS Lambda函数进行了大量调用一样。这是因为" tail"类型实用程序和搜索需要连接到每个日志流才能运行。由于您在日志组本身上设置的策略,日志事件将过期并删除,但Log Streams永远不会被清除。我做了一些小实用程序脚本来帮助解决这个问题:

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

希望在等待搜索这些日志时为您节省一些痛苦。

答案 2 :(得分:0)

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

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

error == 'critical'