【问题标题】:AWS Cloudwatch Insights how to query using multiple log groupsAWS Cloudwatch Insights 如何使用多个日志组进行查询
【发布时间】:2021-04-30 10:52:54
【问题描述】:

阅读documentation 似乎可以在 AWS Cloudwatch 中运行具有多个日志组的查询,但我看不到任何示例。

我想使用公共属性加入两个日志组,并使用过滤器选择一些日志。

有没有人遇到过同样的问题并找到了解决方案?提前致谢。

【问题讨论】:

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


【解决方案1】:

您可以安装Athena Cloudwatch Connector。 在此之前,您将能够像表一样使用每个日志组在 Athena 中进行查询。

select s.message, c.message, split_part(c.message, '/',3)
from "lambda:athena-cloudwatch-catalog"."/aws/lambda/<LOG_GROUP_1>".all_log_streams c,
"lambda:athena-cloudwatch-catalog"."/aws/lambda/<LOG_GROUP_2>".all_log_streams s
where 
s.message like split_part(c.message, '/',3) and
c.message like '%S3%';

【讨论】:

  • 酷。但我们不想为另一项 AWS 服务付费。无论如何感谢您的提示。
【解决方案2】:

如果您谈论的是 AWS 控制台,选择多个日志组的选项是一个复选框,您可以选择 20 多个日志组。

如果您参考 AWS CLI,您还可以选择多个日志组。首先创建查询(在一个或多个日志组中)(https://docs.aws.amazon.com/cli/latest/reference/logs/start-query.html)然后获取结果(https://docs.aws.amazon.com/cli/latest/reference/logs/get-query-results.html

例子:

使用多个日志组创建查询:

aws logs start-query --log-group-names "/aws/apigateway/welcome" "/aws/lambda/Test01" 
--start-time 1598936400000 --end-time 1611464400000 --query-string "fields @timestamp, 
@message"

从创建的查询中恢复结果:

aws logs get-query-results --query-id <query_id>

【讨论】:

  • 谢谢,我的意思是我可以使用控制台选择多个日志组,但在 Logs Insights 中,我想使用与 SQL 中相同的属性(log_group_alias.common_field)“加入”这个日志组,而不仅仅是联合不同的日志组
  • @JourneyToJsDude 你找到答案了吗?我试图实现同样的目标,但没有结果。谢谢!
  • @LuisaBradusca 你找到答案了吗?
猜你喜欢
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 2020-05-16
  • 1970-01-01
  • 2023-04-04
  • 2020-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多