【发布时间】:2017-12-16 16:06:35
【问题描述】:
了解如何从 another answer 访问 lambda 日志
有可能尾随他们吗? (手动按刷新很麻烦)
【问题讨论】:
-
如果您使用的是无服务器框架,您可以从命令行本身获取特定功能的尾部日志条目。
标签: aws-lambda amazon-cloudwatch tail
了解如何从 another answer 访问 lambda 日志
有可能尾随他们吗? (手动按刷新很麻烦)
【问题讨论】:
标签: aws-lambda amazon-cloudwatch tail
既然您提到了tail-ing,我希望您能够适应使用 CLI 工具在终端上工作。
您可以在本地安装awslogs,并将其用于tail Cloudwatch。
例如
$ awslogs get /aws/lambda/my-api-lambda ALL --watch --profile production
除了不再需要刷新任何内容(这就是 tail 的用途)之外,我还喜欢您不必担心在不同的 LogGroup 之间跳转(与 CloudWatch 控制台不同)。
【讨论】:
旁白:我们注意到,在 AWS Lambda 函数进行大量调用后,跟踪日志变得非常缓慢。即使通过 AWS 控制台查看日志也非常慢。这是因为“tail”类型的实用程序需要连接到每个日志流。由于您在日志组本身上设置的策略,日志事件会过期,但日志流永远不会被清理。我制作了一些实用的小脚本来帮助解决这个问题:
https://github.com/four43/aws-cloudwatch-log-clean
希望能为您省去等待这些日志的痛苦。
【讨论】:
实际上,Insights 有更好的方法(在同一个 CloudWatch 中)。
像在日志组上一样运行查询,你会得到你想要的:
fields @timestamp, @message
| sort @timestamp desc
| limit 20
您还可以将其添加到仪表板以始终将其放在“附近”
【讨论】:
如果您使用的是 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
【讨论】: