如何编写AWS CloudWatch Logs Insights查询汇总日志JSON键值对
AWS CloudWatch Logs Insights 查询实现键值汇总
以下是满足需求的完整查询语句,可直接在CloudWatch Logs Insights中执行:
fields @timestamp, @message | filter @message like /CTS/ | parse @message /CTS (?<json_data>\{.*?\}) CTE/ | parse_json(json_data) as data | flatten(data) | stats sum(value) as total by key | sort total desc
各步骤说明:
- 过滤日志:
filter @message like /CTS/筛选出包含CTS标识的日志条目 - 提取JSON片段:通过
parse正则表达式捕获CTS与CTE之间的JSON格式字符串,存储到json_data字段 - 解析JSON:
parse_json(json_data) as data将字符串格式的JSON转换为可操作的结构体对象 - 展平键值对:
flatten(data)把结构体中的每个键值对拆分为单独的行(每行包含key和value两个字段) - 汇总求和:
stats sum(value) as total by key按键名分组,对每个键的数值求和得到总计数 - 排序(可选):
sort total desc让结果按总计数从大到小排列,更直观查看占比
执行后会得到类似aa:236、bb:240的键值汇总结果,直接用于生成饼图即可。
内容的提问来源于stack exchange,提问作者Tanuj
相关产品推荐
相关产品推荐

