Grafana 图例中去除实例端口号的几种方法
在 Grafana 监控系统中,我们经常需要使用 {{instance}}
变量来显示监控目标的实例信息。但有时候实例信息会包含端口号(如 10.240.5.186:9101
),而我们可能只需要显示 IP 地址部分。本文将mark几种去除端口号的方法。
方法一:使用正则表达式替换
在 Grafana 的图例设置中,可以直接使用正则表达式来修改显示的实例值:
{{instance=~"(.*):.*"}}
或者使用替换函数:
{{instance | replace(":9101", "")}}
方法二:修改 Prometheus 查询语句
如果使用 Prometheus 作为数据源,可以在查询时使用 label_replace
函数:
label_replace(metric_name{instance=~".*"}, "instance", "$1", "instance", "(.*):.*")
方法三:修改变量定义
在 Grafana 仪表板变量设置中:
- 进入 Dashboard Settings > Variables
- 找到你的
instance
变量 - 在 "Regex" 字段添加:
/.*(?=:)/
或/(.*):.*/
- 或者在 "Format" 选项中选择 "Glob" 并使用
*
匹配
方法四:使用 Transform 功能(Grafana 8.0+)
- 在面板编辑器中点击 "Transform" 选项卡
- 添加 "Labels to fields" 转换
- 然后添加 "Organize fields" 转换来修改实例字段
总结
以上方法各有优缺点,可以根据你的具体场景选择最适合的方案。方法一和方法二通常是最简单直接的解决方案,而方法三和方法四提供了更灵活的配置方式。
定制 Grafana 的图例显示!