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

如何通过SQL查询替换Grafana中Prometheus条形图的UUID图例?

解决Grafana条形图图例UUID替换为SQL表名称的问题

1. 配置混合数据源查询

切换面板查询模式为-- Mixed --,添加两个查询:

  • Prometheus查询(Query 1):保留原查询,结果格式选Time series
    sum by (obj_id) (increase(my_fancy_metric{}[$__range])) > 0
    
  • SQL查询(Query 2):获取UUID与名称的映射,结果格式选Table
    select id as obj_id, name from my_table
    

2. 用Join转换关联数据

进入面板Transform标签,添加Join by field转换:

  • 选择Outer join作为连接模式,确保所有Prometheus返回的UUID都能匹配到名称
  • 设置连接字段为obj_id,匹配两个查询的关联键
  • 确认该转换处于转换列表的最顶端,避免其他转换干扰关联结果

3. 修改图例格式为名称

回到Visualization标签,找到Legend配置项:

  • 将Legend format设置为{{name}},直接用SQL返回的名称替换原UUID图例
  • 如果存在名称重复的情况,可以改用{{name}} ({{obj_id}})作为格式,兼顾可读性和唯一性

关键注意点

  • 确保SQL返回的obj_id与Prometheus的obj_id数据类型、大小写完全一致,否则会匹配失败
  • 检查Transform后的字段列表,确认name字段已被成功关联到时间序列的标签集合中
  • Prometheus查询必须保持Time series格式,不能改为Table,否则条形图无法正常渲染

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 12:54:59