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

如何在Grafana中将Prometheus的instance_id标签映射为友好名称?

可行的Instance ID到友好名称映射方案

方法1:用Transform的Join功能对接JSON数据源

  • 先准备JSON格式的映射文件,比如:
[
  {"instance_id": "10569", "name": "Paul"},
  {"instance_id": "8891", "name": "Keith"}
]
  • 在Grafana中添加一个JSON数据源,指向你搭建的JSON端点,或者直接上传本地JSON文件(静态映射场景更便捷)
  • 进入面板编辑页,打开Transform标签,点击Add transformation选择Join by field:
    • 第一个数据源选你的Prometheus查询结果,匹配字段选instance_id
    • 第二个数据源选刚添加的JSON数据源,匹配字段同样选instance_id
  • 完成后,面板会新增name字段,隐藏原有的instance_id字段,只展示这个友好名称即可

方法2:直接用Transform的JavaScript脚本转换

  • 如果映射关系不复杂,直接用Transform里的Add field from calculation,类型选择JavaScript
  • 编写简单的映射脚本:
const mapping = {
  "10569": "Paul",
  "8891": "Keith"
};
return mapping[values['instance_id']] || values['instance_id'];
  • 给新生成的字段命名(比如用户名),之后用这个字段替代原来的instance_id显示
  • 优点是无需额外数据源,适合映射不频繁变动的场景;若需更新映射,通过CI/CD修改面板的JSON配置就能同步脚本内容

方法3:CI/CD推送映射到Grafana自定义变量

  • 在Grafana中创建一个自定义变量,类型选Query(对接JSON/File数据源)或者直接用Constant,值存储为JSON格式的映射内容
  • 用CI/CD工具(比如GitHub Actions、GitLab CI)调用Grafana API,每日推送最新映射列表更新该变量
  • 在面板的Prometheus查询或Transform步骤中,直接引用这个变量完成查找
  • 示例curl命令(替换为你的Grafana信息):
curl -X PUT -H "Authorization: Bearer YOUR_GRAFANA_TOKEN" \
  -H "Content-Type: application/json" \
  http://your-grafana-url/api/dashboards/uid/YOUR_DASHBOARD_UID \
  -d @updated-dashboard.json

方法4:对接自定义HTTP查询接口

  • 搭建一个简单的后端服务,提供根据instance_id查询名称的接口,比如GET /lookup?instance_id=10569返回{"name": "Paul"}
  • 在Grafana中将这个服务配置为HTTP数据源
  • 面板Transform中选择External data转换,调用该接口传入instance_id参数,把返回的名称合并到结果中

内容的提问来源于stack exchange,提问作者Keith Palmer Jr.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 14:22:45