如何在Grafana中将两个Prometheus查询结果按行展示于同一表格?
Grafana实现两行式合并表格的两种方法
方法一:PromQL直接注入类型标签(推荐)
直接修改查询语句,给两个指标的结果添加type标签来区分类型,合并成一个查询:
label_replace(increase(message_recieved[$_range]), "type", "received", "", "") or label_replace(increase(message_sent[$_range]), "type", "sent", "", "")
之后在表格面板的「字段选项」里:
- 删除不需要的字段(如「命名空间」)
- 调整字段顺序为「type」、「Pod」、「服务」、「Value」
- 将字段名重命名:
type改为「类型」,Value改为「数值」
即可得到目标样式的两行表格。
方法二:Grafana Transform转换(适配无法修改PromQL的场景)
你之前用Merge时默认是「Join」模式,所以会合并成一行,改用以下步骤:
- 添加两个独立查询:
- 查询1:
increase(message_recieved[$_range]),设置别名为received - 查询2:
increase(message_sent[$_range]),设置别名为sent
- 查询1:
- 添加「Merge」转换:将模式改为Append(追加行而非合并列),此时会得到两行数据,分别对应两个查询的结果
- 添加「添加字段」转换:
- 选择「从字段名查找值」模式
- 源字段选择数值列(
received或sent) - 目标字段名填「类型」
- 添加映射规则:
received→received,sent→sent
- 添加「整理字段」转换:
- 保留「类型」、「Pod」、「服务」、「数值」(数值列选对应查询的结果列)
- 调整列顺序到目标样式
内容的提问来源于stack exchange,提问作者user22048545
相关产品推荐
相关产品推荐

