我有一个日志组,其中包含多个日志流(来自多个 EC2 实例)。有没有办法简单地“跟踪”组中的合并日志?如果我单击“搜索事件”,则会显示合并日志,但跳转到日志末尾的按钮会变灰。我必须手动插入日期和时间。我也尝试了 aws cli,但aws logs get-log-events
需要指定单个日志流名称。
答案1
现在可以直接使用 AWS CLI v2 来实现。例如:
aws logs tail --since 1d --follow /aws/lambda/my_func
将会跟踪并持续监控 1 天前及未来的 CloudWatch 日志。
更多内容请见:https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/tail.html
答案2
CloudWatch 尾部的几个命令工具:
答案3
我真的很失望awslogs
,cloudwatch-logs-tail
所以我做了自己的工具,叫做锯有效地将 CloudWatch 日志传输到控制台(并为 JSON 输出着色):
你可以在 MacOS 上使用以下命令安装它:
brew tap TylerBrock/saw
brew install saw
它具有许多不错的功能,例如能够自动扩展(缩进)JSON 输出(尝试使用 运行该工具--expand
):
saw watch my_log_group --expand
有 Lambda 想要查看错误日志吗?没问题:
saw watch /aws/lambda/my_func --filter error
Saw 非常棒,因为它的输出易于阅读,而且您可以从整个日志组中流式传输日志,而不仅仅是组中的单个流。使用特定前缀过滤和查看流也同样简单!