Grafana中自定义Legend的名字和自定义value的显示
发表于|更新于|监控
针对 value 的值进行修改解释
举个例子:使用 snmp_exporter 对防火墙进行监控,端口状态监控值为 1 或 2(1 是启用,2 是未启用), 在 Prometheus 中的原始数据是:
在 Grafana 中显示效果为:
其中:Value mappings 控制数值对应的显示文字。Thresholds 控制数值对应的显示颜色。
针对 Legend 修改描述文字
Legend 这里配置的是 {{ifName}} 显示出来就是类似 ge0/2 等,也就是 Prometheus 里原始数据的标签名。
如果我想根据这个名字来指定一个对应关系来显示,比如领导不知道 ge0/2 是什么意思(开玩笑的,没找到合适的例子),可以将 ge0/2 转换为:第一排第二个网口,可以这么配置:
根据 value 值进行变色
如果只想针对某一列修改颜色
value mappings 添加对应的说明和颜色
添加一个 override
文章作者: 张理坤
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 杂烩饭!
相关推荐
2026-07-14
Grafana 监控面板配置
安装 grafanaoss:开源版本 enterprise: 商业版本 https://grafana.com/grafana/download?pg=get&plcmt=selfmanaged-box1-cta1&edition=oss 添加数据源以 grafana 10.3.3 为例, 在 connections –> Data sources 中新增: 面板配置可以手动配置,也可以在 grafana 官网下载别人配置好的模板:https://grafana.com/grafana/dashboards/, 复制 ID 或者下载 json 文件到本地 然后在面板上面,点击 + , 选择 import dashboard 使用 json 文件导入或者直接输入面板 id 进行导入。 导入后便能看到基础的图形。 做变量筛选比如我们的监控会区分环境, 比如开发环境 dev,生产环境 prod, 现在需要在 grafana 的面板上做一个筛选框,这里是原始的数据:比如我们需要取 env 的值 在面板的设置 – 变量中, 添加一个变量, 变量名可以自定义, 在此...
2026-06-10
Grafana表格绘制
选择一个关联标签instance 是机器 ip,不会重复,所以我用这个做关联字段。第一个查询我会保留多一些标签,(可以使用 sum by ... (instance) 保留想要的标签)其他的查询尽量只保留关联字段。 默认配置了多个查询,并将 Grafana 图表类型设置成 table 后,再将查询的格式设置成 Table,显示如下,有以下几个问题: 整合多个查询在一张表里面现在显示的是 3 个查询,通过一个选框来切换的,我们想要让这 3 个查询显示在一个框中,可以在 Grafana 的 Transform data 中增加一个 Join by field, 我这里以 instance 这个字段做关联,也就是说同样的 instance 认为是一条数据。可以看到展示出来只有一条数据了,并且选框没有了。 移除不想展示的字段上面可以看到数据已经被关联成了一条,但是有很多不想显示的字段,在 Transform data 中增加一个 Organize fields by name,经过调整后 修改字段单位上面的运行时间,单位是秒,需要调整一下单位,在 Override 中调整: 给表格...

2026-07-14
生产环境Prometheus监控架构记录
比如有 30 家客户,每一个客户都有自己的 Kubernetes 集群,部署方式千差万别,还有客户不使用 Kubernetes 的,使用虚拟机部署,那么怎么对这么多客户的机器、服务进行有效的监控,本文记录一下监控的架构方案。 监控架构图 说明:Prometheus Core 是一个核心的 Prometheus,所有其他 Prometheus 的数据都汇总到这里,查询、告警等都使用这个 Prometheus Prometheus Core这个是核心的 Prometheus,其他客户的 Prometheus 通过联邦接入或者 远程写 (remote write) 的方式来写入数据到这个 Prometheus 中。Prometheus Core 可以更换成 VictoriaMetrics 联邦接入配置 对应的 federate_http.yml 远程写入配置修改 Prometheus 启动参数,增加:--enable-feature=remote-write-receiver 启动参数。 Kubernetes 中部署有集群权限的 Prometheus适合有集群权限的 Promet...
2026-07-14
Prometheus开启basic_auth认证
考虑将公司的联邦集群(pull)换成 remote_write(push)这种形式, 所以需要将 Prometheus 开放到公网,看了看认证相关的配置 也可以使用 Nginx 来反向代理,可以参考 Nginx开启基本http认证, 不过 Prometheus 原生带了 basic auth 和 ssl 认证, 官网的说明https://prometheus.io/docs/guides/basic-auth/ 开启 web 配置文件 生成密码密码需要 bcrypt 加密,这里使用 htpasswd 工具生成 Ubuntu和Debian安装CentOS和Fedora安装 web 配置文件vim web.yml 验证一下配置 remote write 访问后面访问控制台页面或者调用接口都需要指定账号密码了 其他 Prometheus 如果需要往这台写入, 需要在其他的 Prometheus remote_write 配置认证 联邦配置如果此 Prometheus 需要通过联邦机制接入到其他 Prometheus, 需要在对方的配置里面增加: 启用了 Bas...
2026-07-14
Prometheus的瞬时向量(Instant vector)和区间向量(Range vector)
在 Prometheus 的表达式语言中,表达式或子表达式包括以下四种类型之一: 瞬时向量(Instant vector) : 一组时间序列,每个时间序列包含单个样本,它们共享相同的时间戳。也就是说,表达式的返回值中只会包含该时间序列中的最新的一个样本值。而相应的这样的表达式称之为瞬时向量表达式。 区间向量(Range vector) : 一组时间序列,每个时间序列包含一段时间范围内的样本数据。 标量(Scalar) : 一个浮点型的数据值。 字符串(String) : 一个简单的字符串值。 瞬时向量 比如这样的,取值是一个值 区间向量指的是指定时间段的所有瞬时向量 PromQL 聚合操作例如:sum,min,max,count 等聚合函数,只能作用于瞬时向量上。
2025-04-22
使用selenium来实现Grafana的自动截图
selenium 是一个 python 库, 用于操作 chromium 浏览器实现一些自动化的动作, 本文是为了把 grafana 的监控图截图保存, 后续可以将图片做成运维报表之类的. 调试阶段调试阶段可以使用电脑上的 chrome,并关闭 headless 模式,方便看到界面执行的效果.chrome 官网下载即可, chromedriver 下载地址: https://googlechromelabs.github.io/chrome-for-testing/ , chromedriver 放在代码同目录即可. 问题为什么不用 grafana-image-renderer, 这个官方插件 BUG 挺多的, 比如一个图需要很长时间才能加载, 就会出现图还没加载出来, 就完成了截图的情况. 并且截图速度很慢. 简单的开始 正常的话, 可以打开页面了, 然后浏览器会自动关闭. 查找元素从浏览器开发工具查找元素比如说在 grafana 登陆界面,我想自动输入账号密码进行登录,那么可以使用 在这里可以找到名字, 可以根据 NAME 来定位,也可以根据 class 定位. ...
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加博主微信,进微信运维技术交流群:








