AWS CloudWatch Logs Insights多错误类型可视化问题求助
问题分析与解决方案
你的查询问题在于:虽然用fields创建了三个标记错误类型的布尔字段,但后续的stats count(*) by bin(1m)仅统计了每个时间桶内的总错误数,并没有分别计算三种错误类型的具体数量,所以可视化面板无法读取到这三个字段的统计数据。
以下是两种可行的修正方案:
方案1:先提取错误类型再分组统计
这种方式更直观,先从日志中提取具体的错误类型,再按类型和时间维度统计:
filter @logStream and @message ~= /errorType/ | parse @message /errorType(?<errorType>\d)/ -- 从message中提取errorType1/2/3的数字部分作为errorType字段 | stats count(*) as errorCount by errorType, bin(1m)
执行后,统计结果会包含每个时间桶下不同错误类型的计数,可视化时可按errorType维度拆分展示。
方案2:直接统计每种错误类型的数量
使用count_if函数分别统计符合各错误类型的日志条数:
filter @logStream and @message ~= /errorType/ | stats count_if(@message ~= /errorType1/) as errorType1Count, count_if(@message ~= /errorType2/) as errorType2Count, count_if(@message ~= /errorType3/) as errorType3Count by bin(1m)
这种方式会直接生成每个时间桶下三个错误类型的独立计数字段,可视化时可直接选择这三个字段进行展示。
内容的提问来源于stack exchange,提问作者user3572165
相关产品推荐
相关产品推荐

