0
点赞
收藏
分享

微信扫一扫

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


前言

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

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

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

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

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

变量类型

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

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

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

增加变量

定义变量

1.打开设置

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

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

Grafana系列:如何去定义并配置更适合自己监控使用的变量_下拉框_04如果已有变量,点击New:

Grafana系列:如何去定义并配置更适合自己监控使用的变量_查询表达式_05定义变量

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

定义出来的效果如下:

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

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

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

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

变量联动

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

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

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

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

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

查询表达式中应用变量

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

Grafana系列:如何去定义并配置更适合自己监控使用的变量_查询表达式_11

面板title中应用变量

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

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

增加额外标签

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

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

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

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


举报

相关推荐

0 条评论