如何通过CloudWatch统计Lex每日未识别话术及Lambda异常占比?
CloudWatch Insights 统计Lex每日未识别话术占比方案
结论
该需求完全可以通过CloudWatch Logs Insights实现。你原有查询的问题在于提前使用filter过滤掉了正常识别的日志,导致统计的总条数不是全量话术,计算逻辑完全错误。
正确统计逻辑
- 总话术数:每日所有Lex交互产生的日志总条数,不需要前置过滤
- 未识别+异常总数:每日日志中满足
missedUtterance=1或者日志内容包含Exception关键词的条目总数 - 每日占比:
(未识别+异常总数 / 当日总话术数) * 100,可按需保留小数位数
正确查询语句
# 定义异常/未识别标记字段,符合条件记为1,否则记为0 fields @timestamp, @message, if(missedUtterance=1 or @message like /Exception/, 1, 0) as is_error # 按天聚合统计总话术数、异常未识别总数 | stats count(*) as total_utterance, sum(is_error) as error_count by bin(1d) as date # 计算百分比,保留两位小数 | display date, error_count, total_utterance, round((error_count/total_utterance)*100, 2) as error_rate_pct # 按日期倒序排列 | sort date desc
提示:如果你的Lex日志中未识别话术的字段名不是
missedUtterance,替换为实际字段名即可。
生成近7天趋势图方法
- 在CloudWatch Logs Insights页面的时间范围选择器中,选中「最近7天」
- 运行上述查询后,切换到页面上方的「可视化」页签
- 图表类型选择折线图或柱状图,X轴绑定
date字段,Y轴绑定error_rate_pct字段即可生成趋势图,也可以直接导出查询结果表格获取每日的百分比数值。
内容的提问来源于stack exchange,提问作者Sharvari Nagesh
相关产品推荐
相关产品推荐

