CloudWatch Logs Insights多stats命令报错:求符合条件的Checks总和
CloudWatch Logs Insights聚合查询错误解决方案
你遇到的「Compile Error - Multiple stats commands are not allowed」错误,是因为CloudWatch Logs Insights不允许在同一条查询管道中连续使用多个聚合命令(比如多次调用stats,或直接使用sum()这类需要依赖stats的聚合函数)。
要正确计算符合条件的客户端检查次数总和,推荐使用**公共表表达式(CTE)**拆分查询逻辑:
with client_checks as ( fields @timestamp, @message | parse @message /clientId=(?<clientid>\w+)/ | stats count() as Checks by clientid | filter Checks < 50 ) select sum(Checks) as TotalChecks from client_checks
该查询先在子查询client_checks中统计每个客户端的检查次数,并过滤出次数小于50的条目;再在外层查询中对这些条目的Checks字段求和,最终得到预期的TotalChecks=58结果。
如果你的CloudWatch环境暂不支持CTE语法,也可以通过将过滤后的结果导入临时数据集再求和的方式实现,但CTE写法更简洁直观,是优先推荐的方案。
内容的提问来源于stack exchange,提问作者Luis Felipe Vaca
相关产品推荐
相关产品推荐

