拖尾 aws lambda/cloudwatch 日志
tailing aws lambda/cloudwatch logs
了解如何从
访问 lambda 日志
可以跟踪他们吗? (手动按刷新比较麻烦)
既然你提到了 tail
-ing,我希望你能熟练地使用 CLI 工具在终端上工作。
您可以在本地安装 awslogs
并将其用于 tail
Cloudwatch。
例如
$ awslogs get /aws/lambda/my-api-lambda ALL --watch --profile production
除了不再需要刷新任何东西(这就是 tail
的目的),我还喜欢您不必担心在不同的日志组之间跳转(与 CloudWatch 控制台不同)。
旁白: 我们注意到,在 AWS Lambda 函数进行大量调用后,拖尾日志变得非常慢。即使通过 AWS 控制台查看日志也非常慢。这是因为 "tail" 类型的实用程序需要连接到每个日志流。由于您在日志组本身上设置的策略,日志事件会过期,但日志流永远不会被清理。我制作了一些小的实用脚本来帮助解决这个问题:
https://github.com/four43/aws-cloudwatch-log-clean
希望这能让您免去等待这些日志的痛苦。
实际上,使用 Insights 有更好的方法(在同一个 CloudWatch 中)。
运行 查询日志组,你会得到你想要的:
fields @timestamp, @message
| sort @timestamp desc
| limit 20
您也可以将它添加到仪表板以始终拥有它"nearby"
如果您使用的是 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
了解如何从
可以跟踪他们吗? (手动按刷新比较麻烦)
既然你提到了 tail
-ing,我希望你能熟练地使用 CLI 工具在终端上工作。
您可以在本地安装 awslogs
并将其用于 tail
Cloudwatch。
例如
$ awslogs get /aws/lambda/my-api-lambda ALL --watch --profile production
除了不再需要刷新任何东西(这就是 tail
的目的),我还喜欢您不必担心在不同的日志组之间跳转(与 CloudWatch 控制台不同)。
旁白: 我们注意到,在 AWS Lambda 函数进行大量调用后,拖尾日志变得非常慢。即使通过 AWS 控制台查看日志也非常慢。这是因为 "tail" 类型的实用程序需要连接到每个日志流。由于您在日志组本身上设置的策略,日志事件会过期,但日志流永远不会被清理。我制作了一些小的实用脚本来帮助解决这个问题:
https://github.com/four43/aws-cloudwatch-log-clean
希望这能让您免去等待这些日志的痛苦。
实际上,使用 Insights 有更好的方法(在同一个 CloudWatch 中)。
运行 查询日志组,你会得到你想要的:
fields @timestamp, @message
| sort @timestamp desc
| limit 20
您也可以将它添加到仪表板以始终拥有它"nearby"
如果您使用的是 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