【问题标题】:Filter AWS Cloudwatch Lambda's Log过滤 AWS Cloudwatch Lambda 的日志
【发布时间】:2016-03-22 14:14:01
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

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

然后它“更改”为“过滤流”:

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

【讨论】:

    【解决方案2】:

    所以这是一个附带问题,但它与我们相关。 (我在StackOverflow 上将其发布到另一个答案,但认为它也与这次对话有关)

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

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

    希望可以为您省去等待这些日志被搜索的痛苦。

    【讨论】:

      【解决方案3】:

      您还可以使用 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'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-27
        • 1970-01-01
        • 2017-09-03
        • 1970-01-01
        • 2019-02-09
        • 2020-06-25
        • 1970-01-01
        • 2020-05-13
        相关资源
        最近更新 更多