You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Grafana转换Elasticsearch数据,将子任务按任务分组展示?

问题描述

我的Elasticsearch数据库中存储的子任务数据结构如下:

{
    "task_id":1,
    "subtask_name":"preparation",
    "subtask_status":"done"
}

每个任务包含preparation和realization两个子任务。当前Grafana表格的展示效果为:

task_idsubtask_namesubtask_status
1preparationdone
1realizationtbd
2preparationtbd
2realizationtbd

我希望将子任务按对应任务分组,展示为如下形式:

task_idpreparationrealization
1donetbd
2tbdtbd

请问需要使用哪些Grafana Transformations才能实现该效果?使用Elasticsearch作为数据库,是否需要通过Lucene查询进行分组?


解决方案

所需Grafana转换步骤

不用改Lucene查询,靠Grafana自带的Transform功能就能搞定,具体步骤如下:

  • 添加「Group by」转换
    选择按task_id字段分组,把同一个任务的两条子任务数据合并到同一组里。
  • 添加「Pivot」转换
    配置这几个核心参数:
    • 「Row group by」选task_id,作为最终表格的行标识;
    • 「Column」选subtask_name,把该字段的取值(preparation、realization)转换为表格的列名;
    • 「Value」选subtask_status,将对应子任务的状态填充为单元格的值。
  • (可选)添加「Organize fields」转换
    如果觉得中间生成的冗余字段影响视觉,可以用这个转换移除不需要的字段,让表格结构更简洁。

关于Lucene查询的说明

完全不需要通过Lucene查询进行分组,原始数据已经包含所有必要信息,Grafana的Transform功能足以在前端完成数据结构的重组,无需修改数据源的查询逻辑。


内容的提问来源于stack exchange,提问作者Cake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:00:30