Grafana 9.0.x如何在面板动态展示IP与指标值、隐藏实例ID
Grafana 9.0.x 自动展示实例私有IP与指标值配置方案
9.0版本已经把旧版独立的Legends配置入口合并到标准字段配置、转换模块里了,不需要手动硬编码overrides逐台配置,按下面步骤操作就行:
- 首先从查询源头砍掉冗余字段
如果你用时序类数据源(比如Prometheus、VictoriaMetrics),写查询语句的时候直接通过聚合语法丢弃不需要的实例ID标签,只保留私有IP维度即可,示例:
如果是云监控类数据源(比如CloudWatch、阿里云监控),查询时的Dimensions配置项里只勾选私有IP维度,不要勾选实例ID维度,返回结果自然不会带多余的实例ID字段。# 按private_ip标签聚合,返回结果里就不会带实例ID相关标签 avg(your_monitor_metric) by (private_ip) - 全局配置显示规则,替代硬编码Overrides
面板编辑页右侧找到Standard options(标准字段配置)区域,找到Display name输入框,直接填入${__field.labels.privateIP}——这是Grafana内置的字段标签引用语法,会自动读取每条时序/数据行携带的私有IP标签作为显示名,后续新增、下线实例都会自动适配,不需要手动改配置。
要同步展示对应指标值的话,在同个配置区找到Legend、Tooltip设置项,打开Value显示开关,图例和悬浮提示里就会自动在IP后拼接当前指标数值。 - 特殊场景:返回数据里IP和其他字段混排的处理
如果数据源返回的字段里私有IP没有单独作为标签存在(比如instance字段内容是i-xxxxx_172.16.1.23这种拼接格式),不需要改查询逻辑,直接用转换功能提取字段:- 点击面板编辑页顶部的
Transform标签 - 选择
Extract fields转换规则,选中存放拼接内容的字段,用正则/.*_(\d+\.\d+\.\d+\.\d+)/把IP部分提取出来,命名为privateIP - 提取完成后回到Standard options,按上一步的规则引用提取出的privateIP字段即可。
- 点击面板编辑页顶部的
- 关联已创建的privateIP仪表盘变量
不需要单独在标签配置里关联变量,只要在查询语句的筛选条件里引用该变量即可,比如Prometheus数据源就加筛选条件private_ip=~/$privateIP/,其他数据源对应调整变量引用格式。查询返回的结果会自动匹配变量选中的实例范围,配合前面的显示名配置,只要变量的取值逻辑能覆盖到新增实例,面板会自动同步展示,完全不需要手动调整overrides。
注意:字段覆写(Overrides)只适合对个别特殊字段做差异化配置,全量统一的显示规则直接用Standard options里的全局配置即可,这是9.0版本重构配置逻辑后最容易找错位置的点。
内容的提问来源于stack exchange,提问作者Metro
相关产品推荐
相关产品推荐

