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 许可协议。转载请注明来源 杂烩饭!
相关推荐
2025-11-17
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 的值 在面板的设置 – 变量中, 添加一个变量, 变量名可以自定义,...
2025-11-17
Nginx Ingress 暴露没有定义Host的ingress的Metrics数据
指定默认的 ingress 后端名字有点绕口,假如说之前有个服务是通过 ip:port 来访问 nginx(就是 default server),然后转发到后端服务的,那么转换成 ingress 后,不能指定 host,不然会匹配不到规则。ingress 就不能配置 host,创建出来的 ingress 资源就是这样的: 12345678910111213141516171819apiVersion: networking.k8s.io/v1beta1kind: Ingressmetadata: annotations: nginx.ingress.kubernetes.io/ssl-redirect: "false" name: g.example.com namespace: defaultspec: rules: - http: paths: - backend: serviceName: server1 servicePort: 5003 path: /sdk ...
2025-04-16
Prometheus常用PromQL记录
prometheus 查询语法叫 PromQL,做个记录: 查询条件Prometheus 存储的是时序数据,而它的时序是由名字和一组标签构成的,其实名字也可以写出标签的形式,例如 http_requests_total 等价于 {name="http_requests_total"}。 一个简单的查询相当于是对各种标签的筛选,例如: 1234http_requests_total{code="200"} # 表示查询名字为 http_requests_total,code 为 "200" 的数据http_requests_total{code!="200"} # 表示查询 code 不为 "200" 的数据http_requests_total{code=~"2.."} # 表示查询 code 为 "2xx"...
2025-11-17
Prometheus开启basic_auth认证
考虑将公司的联邦集群(pull)换成 remote_write(push)这种形式, 所以需要将 Prometheus 开放到公网,看了看认证相关的配置 也可以使用 Nginx 来反向代理,可以参考 Nginx开启基本http认证, 不过 Prometheus 原生带了 basic auth 和 ssl 认证, 官网的说明https://prometheus.io/docs/guides/basic-auth/ 开启 web 配置文件1./prometheus --web.config.file="web.yml" --web.listen-address="0.0.0.0:9001" 生成密码密码需要 bcrypt 加密,这里使用 htpasswd 工具生成 Ubuntu和Debian安装CentOS和Fedora安装1apt install apache2-utils1yum install httpd-tools 1htpasswd -nB 'admin' web 配置文件vim...
2025-11-17
Prometheus标签处理
元标签在被监控端纳入普罗米修斯里面定义了一些元数据标签在 Prometheus 所有的 Target 实例中,都包含一些默认的 Metadata 标签信息。可以通过 Prometheus UI 的 Status 里面的 Service Discovery 查看 Metadata 标签 说明 address 当前 Target 实例的访问地址 host:port scheme 采集目标服务访问地址的 HTTP Scheme,HTTP 或者 HTTPS metrics_path 采集目标服务访问地址的访问路径 上面这些标签将会告诉 Prometheus 如何从该 Target 实例中获取监控数据。除了这些默认的标签以外,我们还可以为 Target 添加自定义的标签。 元标签是不会写到数据库当中的,使用 promql 是查询不到这些标签的,如果需要源标签的数据(比如 k8s 部署的 Prometheus 使用自动发现获取 pod 监控),这个时候就需要把一些元标签重新打标签来使用。 比如上图,监控 k8s 的 pod 状态, 因为 pod 是动态的,所以需要...
2025-11-17
Prometheus手动打标签
有时候需要给 Prometheus 打标签,比如说联邦集群接入,需要知道是哪个集群,remote write 写入的时候也需要做个标记。 直接在集群打标签vim prometheus.yml 12345678910global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). external_labels: env: uat dept: ops project: xxx... 这样就可以给集群内的所有 metrics...
评论
公告
此博客为我记录运维工作总结所用,供网友阅读参考,如有侵权,请通知我,我会核实后进行处理。
欢迎加入技术交流群:




