首页 > 解决方案 > 如何在 Grafana 中使用正则表达式从指标中提取标签值?

问题描述

在 Grafana 中,我有一个带有查询的变量:

类型:查询

数据来源:普罗米修斯

刷新:仪表板加载时

查询:node_uname_info{server=~"$server"}

结果:node_uname_info{clusterdb1="CLUSTER1",clusterdb2="CLUSTER2",domainname="(none)",machine="x86_64",nodename="MYSERVER",release="3.8.0-1127.8.2.el7.x86_64 ",server="MYSERVER",sysname="Linux"}

如何提取 CLUSTER1 和 CLUSTER2?

我试过:.*clusterdb.="([^"]+)". clusterdb.="([^"]+)"。

它在https://regex101.com/中有效,但在 Grafana 中无效。

任何帮助将不胜感激!

标签: regexvariablesgrafana

解决方案


我是模板变量,因此我需要 2 个单独的值 CLUSTER1 和 CLUSTER2 我可以用来在我的仪表板中进行选择。

在我的 prometheus.yml 中添加标签 clusterdb: CLUSTER1,CLUSTER2

从 grafana 查询它:

label_values(node_uname_info{server=~"$server"}, clusterdb)

它给了我 1 个值,称为:

集群 1,集群 2

我需要 2 个单独的值,然后可以从我的仪表板中选择:

集群 1 集群 2


推荐阅读