【问题标题】:tailing aws lambda/cloudwatch logs跟踪 aws lambda/cloudwatch 日志
【发布时间】:2017-12-16 16:06:35
【问题描述】:

了解如何从 another answer 访问 lambda 日志

有可能尾随他们吗? (手动按刷新很麻烦)

【问题讨论】:

  • 如果您使用的是无服务器框架,您可以从命令行本身获取特定功能的尾部日志条目。

标签: aws-lambda amazon-cloudwatch tail


【解决方案1】:

既然您提到了tail-ing,我希望您能够适应使用 CLI 工具在终端上工作。

您可以在本地安装awslogs,并将其用于tail Cloudwatch。

例如

$ awslogs get /aws/lambda/my-api-lambda ALL --watch --profile production

除了不再需要刷新任何内容(这就是 tail 的用途)之外,我还喜欢您不必担心在不同的 LogGroup 之间跳转(与 CloudWatch 控制台不同)。

【讨论】:

    【解决方案2】:

    旁白:我们注意到,在 AWS Lambda 函数进行大量调用后,跟踪日志变得非常缓慢。即使通过 AWS 控制台查看日志也非常慢。这是因为“tail”类型的实用程序需要连接到每个日志流。由于您在日志组本身上设置的策略,日志事件会过期,但日志流永远不会被清理。我制作了一些实用的小脚本来帮助解决这个问题:

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

    希望能为您省去等待这些日志的痛苦。

    【讨论】:

      【解决方案3】:

      实际上,Insights 有更好的方法(在同一个 CloudWatch 中)。

      像在日志组上一样运行查询,你会得到你想要的:

      fields @timestamp, @message
      | sort @timestamp desc
      | limit 20
      

      您还可以将其添加到仪表板以始终将其放在“附近”

      【讨论】:

        【解决方案4】:

        如果您使用的是 awscli

        从命令行你也可以这样做:

        aws logs tail <your_log_group_name> --follow

        --follow 标志将不断拉取新日志

        您也可以使用--since 设置从什么时间开始显示日志

        它支持:

        s - seconds

        m - minutes

        h - hours

        d - days

        w - weeks

        aws logs tail <your_log_group_name> --since 20m

        【讨论】:

          猜你喜欢
          • 2021-08-16
          • 2016-11-27
          • 2016-03-22
          • 1970-01-01
          • 2020-05-13
          • 2020-06-25
          • 2017-07-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多