如何在Kibana中实现按任务分组的用户平均耗时TOP可视化?
打造用户各任务平均耗时TOP的Kibana可视化
第一步:启动可视化创建流程
打开Kibana进入「可视化库」,点击「创建可视化」,选水平条形图(看排序最直观)或者数据表格(数值展示更清晰)即可。
第二步:核心聚合配置(先按用户+任务分组,再计算平均耗时)
- 进入「数据」面板的「桶」区域,添加嵌套分桶:
- 第一级分桶(行/横轴):选择「术语」聚合,字段挑
username,可先设置只显示TOP10用户。 - 第二级分桶(嵌套在用户下的子项):同样选「术语」聚合,字段选
task_id,每个用户下也可设置展示TOP N任务。
- 第一级分桶(行/横轴):选择「术语」聚合,字段挑
- 在「指标」区域选择平均值聚合,字段指定
time_spent_seconds,还能重命名为「任务平均耗时(秒)」方便识别。
第三步:设置排序,实现TOP效果
- 针对任务级分桶,排序规则选按刚才创建的「任务平均耗时(秒)」降序排列,这样每个用户的任务会从耗时最长的开始展示。
- 如果要做全局TOP(比如所有用户+任务组合里的TOP20),可以把第一级分桶改成「复合聚合」,同时按
username和task_id分组,再按平均耗时降序,设置显示数量为你需要的TOP数。
第四步:优化展示细节
- 到「选项」面板调整条形图的标签、配色,或者数据表格的列宽、数值格式。
- 添加时间筛选器,用
action_start_time或action_end_time限定统计的时间范围。
懒人方案:用Lens可视化拖拽搞定
要是嫌上面步骤繁琐,直接用Kibana Lens操作:
- 把
username和task_id拖到「行」区域,time_spent_seconds拖到「值」区域,聚合方式选「平均值」。 - 点击「排序」按钮,选择按「平均值(time_spent_seconds)」降序,设置显示行数为你要的TOP数量。
- 切换图表类型为「水平条形图」或「表格」就完成了。
内容的提问来源于stack exchange,提问作者user19536467
相关产品推荐
相关产品推荐

