阅读文档似乎可以在 AWS Cloudwatch 中运行具有多个日志组的查询,但我看不到任何有关如何执行此操作的示例。
我想使用通用属性加入两个日志组,并使用过滤器选择一些日志。
有没有人遇到同样的问题并找到了解决方案?提前致谢。
阅读文档似乎可以在 AWS Cloudwatch 中运行具有多个日志组的查询,但我看不到任何有关如何执行此操作的示例。
我想使用通用属性加入两个日志组,并使用过滤器选择一些日志。
有没有人遇到同样的问题并找到了解决方案?提前致谢。
您可以安装Athena Cloudwatch 连接器。在此之前,您将能够像表一样使用每个日志组在 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 控制台,选择多个日志组的选项是一个复选框,您可以选择 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>