过滤 AWS Cloudwatch Lambda 的日志
Filter AWS Cloudwatch Lambda's Log
我有一个 Lambda 函数及其在 Cloudwatch 中的日志(日志组和日志流)。是否可以过滤(在 Cloudwatch 管理控制台中)所有包含 "error" 的日志?例如包含 "Process exited before completing request".
的日志
在日志组中有一个按钮“搜索事件”。您必须先点击它。
然后它“更改”为“过滤流”:
现在您只需输入您的过滤器和select开始日期时间。
所以这是一个附带问题,但它与我们相关。 (我将此发布到 上的另一个答案,但认为它也与此对话相关)
我们注意到,在日志组中包含大量日志流后,跟踪和搜索日志会变得非常慢,就像 AWS Lambda 函数有大量调用时一样。这是因为 "tail" 类型实用程序和搜索需要将每个日志流连接到 运行。由于您在日志组本身设置的策略,日志事件会过期和删除,但日志流永远不会被清理。我制作了一些小的实用脚本来帮助解决这个问题:
https://github.com/four43/aws-cloudwatch-log-clean
希望这能让您免去等待搜索这些日志的痛苦。
您还可以使用 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 数据下载到您的浏览器,您可以在其中进行查询。您可以使用全文搜索 "error",或者如果您的日志数据是结构化的 (JSON),您可以使用类似 Javascript 的表达式语言来按字段过滤,例如:
error == 'critical'
发布更新,因为 CloudWatch 自 2016 年以来发生了变化:
在 Log Groups
中有一个用于 full-text 搜索的 Search all
按钮
然后只需输入您的搜索:
我有一个 Lambda 函数及其在 Cloudwatch 中的日志(日志组和日志流)。是否可以过滤(在 Cloudwatch 管理控制台中)所有包含 "error" 的日志?例如包含 "Process exited before completing request".
的日志在日志组中有一个按钮“搜索事件”。您必须先点击它。
然后它“更改”为“过滤流”:
现在您只需输入您的过滤器和select开始日期时间。
所以这是一个附带问题,但它与我们相关。 (我将此发布到
我们注意到,在日志组中包含大量日志流后,跟踪和搜索日志会变得非常慢,就像 AWS Lambda 函数有大量调用时一样。这是因为 "tail" 类型实用程序和搜索需要将每个日志流连接到 运行。由于您在日志组本身设置的策略,日志事件会过期和删除,但日志流永远不会被清理。我制作了一些小的实用脚本来帮助解决这个问题:
https://github.com/four43/aws-cloudwatch-log-clean
希望这能让您免去等待搜索这些日志的痛苦。
您还可以使用 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 数据下载到您的浏览器,您可以在其中进行查询。您可以使用全文搜索 "error",或者如果您的日志数据是结构化的 (JSON),您可以使用类似 Javascript 的表达式语言来按字段过滤,例如:
error == 'critical'
发布更新,因为 CloudWatch 自 2016 年以来发生了变化:
在 Log Groups
中有一个用于 full-text 搜索的 Search all
按钮
然后只需输入您的搜索: