Variables
https://yunlzheng.gitbook.io/prometheus-book/part-ii-prometheus-jin-jie/grafana/templating
通过Dashboard页面的Settings选项,可以进入Dashboard的配置页面并且选择Variables子菜单:
用户需要指定变量的名称,后续用户就可以通过$variable_name的形式引用该变量。Grafana目前支持6种不同的变量类型,而能和Prometheus一起工作的主要包含以下5种类型:
类型 | 工作方式 |
Query | 允许用户通过Datasource查询表达式的返回值动态生成变量的可选值 |
Interval | 该变量代表时间跨度,通过Interval类型的变量,可以动态改变PromQL区间向量表达式中的时间范围。如rate(node_cpu[2m]) |
Datasource | 允许用户动态切换当前Dashboard的数据源,特别适用于同一个Dashboard展示多个数据源数据的情况 |
Custom | 用户直接通过手动的方式,定义变量的可选值 |
Constant | 常量,在导入Dashboard时,会要求用户设置该常量的值 |
除了使用PromQL查询时间序列以过滤标签的方式以外,Grafana还提供了几个有用的函数
函数 | 作用 |
label_values(label) | 返回Promthues所有监控指标中,标签名为label的所有可选值 |
label_values(metric, label) | 返回Promthues所有监控指标metric中,标签名为label的所有可选值 |
metrics(metric) | 返回所有指标名称满足metric定义正则表达式的指标名称 |
query_result(query) | 返回prometheus查询语句的查询结果 |
例如 label_values(node_uname_info{}, job) 获取job name
name: 自定义名称
type :query,Interval,Datasource,Custom,Constant。 query 允许用户通过Datasource查询表达式的返回值动态生成变量的可选
label:要是显示在板上显示
使用变量的方式1: 在变量中使用如下 label_values(node_uname_info{job=~"$job"}, nodename)
使用变量的方式2:在面板中使用