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

Posted 不识君的荒漠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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系列:增加一个行面板

Grafana系列:在grafana7.x中配置一个如同Node Exporter中的table

Grafana系列:在grafana7.x中配置一个如同Node Exporter中的table

Docker下Prometheus和Grafana三部曲之三:自定义监控项开发和配置

Grafana监控大屏配置参数介绍