Logs Insights查询编译错误排查及统计需求实现咨询
错误原因
原查询报错是因为**stats聚合操作会丢弃非分组、非聚合的字段**,两次stats执行后@message字段已被丢弃,所以CloudWatch无法识别该字段。另外,两次按@path分组的stats属于重复操作,完全没必要。
符合需求的查询语句
根据你要过滤含path=的日志、解析URL操作类型、统计initiate/verify/finalize次数并计算总和的需求,调整后的查询如下:
fields @timestamp, @message | filter @logStream = "collection-wallet-gateway" and @message like /path=/ | parse @message /path=http:\/\/wallets\.simpaisa\.com\/v2\/wallets\/transaction\/(?<@operation>[a-z]+),/ as @operation | stats count(*) as 操作次数 by @operation | addcoltotals 操作次数 as 总交易数 | display @operation, 操作次数, 总交易数
语句说明
- 筛选目标日志流中包含
path=的日志条目; - 通过正则从日志消息的
path字段里提取操作类型(initiate/verify/finalize); - 按操作类型统计各自的触发次数;
- 自动计算所有操作次数的总和,生成总交易数汇总行;
- 最终展示操作类型、对应次数及总交易数的统计表格。
内容的提问来源于stack exchange,提问作者Shah Raqim
相关产品推荐
相关产品推荐

