如何通过CloudWatch Insights统计框架唯一用户及执行次数?
CloudWatch Insights 日志统计方案
核心思路:先解析JSON字段
你的日志是文本嵌套JSON的格式,第一步必须从日志消息中提取出userName字段,才能进行后续统计。
1. 统计唯一用户数量
使用parse提取字段后,用count_distinct函数统计唯一用户数:
fields @timestamp, @message | parse @message '"userName": "*"' as userName | filter userName != "" | stats count_distinct(userName) as unique_users_count
2. 统计每个用户的执行次数
同样先通过parse解析字段,再按userName分组用count()*统计执行次数:
fields @timestamp, @message | parse @message '"userName": "*"' as userName | filter userName != "" | stats count(*) as execution_count by userName | sort execution_count desc
关键说明
- parse语句通过匹配日志中的
"userName": "xxx"格式,精准提取用户名 - filter过滤掉解析失败的无效日志,避免干扰统计结果
- 针对示例中John的两条记录,上述查询会正确返回
execution_count=2
内容的提问来源于stack exchange,提问作者MarioBros
相关产品推荐
相关产品推荐

