Grafana 配置变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Grafana 配置变量相关的知识,希望对你有一定的参考价值。

参考技术A label_values(label) 返回label每个指标中的标签值列表。
label_values(metric, label) 返回label指定度量标准中的标签值列表。
metrics(metric) 返回与指定metric正则表达式匹配的度量标准列表。
query_result(query) 返回一个Prometheus查询结果列表query。

Grafana系列:如何去定义并配置更适合自己监控使用的变量

前言

在Grafana配置监控面板的时候,支持配置变量应用在查询或者面板的title中,通过选择不同的变量,显示不同的查询结果。

如下,便是定义的一些变量:

通过选择不同的变量,应用到相关面板的查询表达中,显示对应的查询结果。

Grafana的变量介绍的官方文档在:Templates and variables | Grafana Labs

变量类型

下面这个截图来自己官方说明:Add variables | Grafana Labs

本文重点说明就是第一种:查询类型的变量(Query)

增加变量

定义变量

1.打开设置

2.选择变量,然后点击增加变量

如果已有变量,点击New:

定义变量

定义出来的效果如下:

上面的Env在该指标中必须存在这个标签:

如果要使用其它的标签来定义也是同理。

变量联动

上面已经定义一个变量了,如果需要再定义一个变量跟这个变量进行联动,比如选择了哪个环境,集群下拉框就显示对应环境的集群:

在查询表达式里引用前一个变量即可,如下,使用Cluster标签的值定义了一个cluster变量:

“=~”是PromQL的正则匹配。 

查询表达式中应用变量

如下,查询rocketmq的tps表达式使用了3个变量,至于其中用的“=”还是上面说的正则匹配看,自己需要,这里不是固定写法。

面板title中应用变量

如下,面板的title显示查询的是哪个组:

增加额外标签

这个不属于Grafana的配置,但是在这里提一下,比如上面的截图中定义了环境的集群两个变量,这样的话,便可以在一个Prometheus中配置多个环境或者同一环境中不同的集群,并且在监控配置上可以很好的区分,或者是轻易的聚合多个集群的监控数据。

如果在Prometheus中配置的时候增加额外标签,如下:

  - job_name: 'rocketmq-exporter'
    static_configs:
    - targets: ['localhost:5557']
      labels:
        Env: '开发'
        Cluster: 'dev-rmq'

这样,查询指标的时候,便会有Env和Cluster这两个标签了。

以上是关于Grafana 配置变量的主要内容,如果未能解决你的问题,请参考以下文章

Grafana 配置变量

Grafana系列:如何去定义并配置更适合自己监控使用的变量

即使 prometheus 源显示变量,也无法在 grafana 中获取数据

Grafana-zabbix配置模板

grafana text panel配置说明

Grafana 用户变量