grafana仪表盘中针对prometheus设置全局变量

Posted 山风的风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了grafana仪表盘中针对prometheus设置全局变量相关的知识,希望对你有一定的参考价值。

【variables】变量的设置页面

grafana仪表盘中针对prometheus设置全局变量_grafana设置变量

variables提供了参数功能,相当于一个宏变量,这个宏变量的值是和datasource级联的

参数作用
【General】

name: 变量名称,在其他地方调用这个变量时,使用$name。

type: 变量的类型,如下:

  • query 表示这个变量是一个查询语句:
  • grafana仪表盘中针对prometheus设置全局变量_prometheus_02

grafana仪表盘中针对prometheus设置全局变量_grafana设置变量_03

  • datasource 就表示改变量代表一个数据源,如果是datasource 那就可以用改变量修改整个仪表盘的数据源
  • interval 表示查询的时间跨度,例如:
  • grafana仪表盘中针对prometheus设置全局变量_grafana变量_04grafana仪表盘中针对prometheus设置全局变量_grafana表达式_05
  • custom 自定义一些其他变量
  • constant 定义可以隐藏的常量,对于要共享的仪表盘中包括路径或者前缀很有用,在仪表盘导入过程中,常量变量将成为导入时的选项。
  • text box 用户提供一个可以自由输入的文本框

label:标签,在仪表盘上显示标签名字,不设置标签则显示变量名

grafana仪表盘中针对prometheus设置全局变量_grafana表达式_06

grafana仪表盘中针对prometheus设置全局变量_grafana表达式_07

hide:隐藏,用于隐藏标签,可以调用,但是在仪表盘不显示变量名

grafana仪表盘中针对prometheus设置全局变量_prometheus_08grafana仪表盘中针对prometheus设置全局变量_grafana变量_09grafana仪表盘中针对prometheus设置全局变量_prometheus_10

【Query Options】

data source: 选择数据源

refresh: 刷新方式

  • never 从不刷新
  • on dashboard load 仪表盘加载时,常用选项
  • on time range changed 时间范围发生变化时

queryQuery 类型的变量允许您向 Prometheus 查询指标、标签或标签值的列表。

  • label_names()返回标签名称列表,会将prometheus所有指标的标签名称全部显示出来,赋值给变量名
  • grafana仪表盘中针对prometheus设置全局变量_grafana表达式_11
  • label_values(label)返回每个指标中标签的标签值列表,例如 查询标签名是instance的对应的标签值,把结果赋值给变量名
  • grafana仪表盘中针对prometheus设置全局变量_grafana变量_12
  • label_values(metric, label)返回指定指标中标签的标签值列表,例如 查询指标kube_node_info中的标签名是instance的 对应的标签值,把结果赋值给变量名
  • grafana仪表盘中针对prometheus设置全局变量_grafana变量_13
  • metrics(metric) 返回与指定指标正则表达式匹配的指标列表,例如 将包含这个“memory_Mem” 字段的指标名过滤出来,赋值给变量名grafana仪表盘中针对prometheus设置全局变量_grafana变量_14
  • query_result(query)返回查询的 Prometheus 查询的结果列表
  • grafana仪表盘中针对prometheus设置全局变量_prometheus_15

regex:使用正则表达式 对抓取到的返回值进行过滤,例如 

使用query_result(count(node_uname_info)),返回的结果是

 2 1657614411000

grafana仪表盘中针对prometheus设置全局变量_grafana设置变量_16

regex 设置 ​​/ (.*) .*/​​​ ,只过滤出()里面匹配的内容  "2"

grafana仪表盘中针对prometheus设置全局变量_prometheus_17

sort:对获取的返回值 进行排序

  • Disanled禁用
  • Alphabetical(asc)按字母升序
  • Alphabetical(desc)按字母降序
  • Numerical(asc)按数字升序
  • Numerical(desc)按数字降序
  • Alphabetical(casc-insensitive,asc)按字母不区分大小写升序
  • Alphabetical(casc-insensitive,desc)按字母不区分大小写降序
【Selection options】

Multi-value:启用这个功能,变量的值就可以选择多个,具体表现在变量对应的下拉框中可以选多个值的组合。

Include All option:启用这个功能,变量下拉框中就多了一个all选项。

Custom all value:启用Include All option这个功能,才会出现Custom all value这个输入框,表示给all这个选项自定义一个值,all这个选项默认是所有值的组合,你也可以自定义,比如我自定义all为cpu五分钟平均负载,则选择all就代表cpu五分钟平均负载。

虽然选择组合值可以在一个panel里面查看多种监控数据,但是由于不同监控数据的数值大小格式都可能不一样,在一个图形里面格式很难兼容,这样就会出现问题,所以此处建议默认都不选。

grafana仪表盘中针对prometheus设置全局变量_grafana表达式_18

grafana仪表盘中针对prometheus设置全局变量_grafana变量_19

【Preview of values】

表达式返回的结果 会显示在这里

grafana仪表盘中针对prometheus设置全局变量_grafana变量_20




以上是关于grafana仪表盘中针对prometheus设置全局变量的主要内容,如果未能解决你的问题,请参考以下文章

在 cAdvisor 的刮板中更改 Prometheus 作业标签会破坏 Grafana 仪表板

如何将Prometheus仪表板添加到Grafana

关于如何在 Grafana 绘制 Apache Hudi Metrics 仪表盘的教程

Prometheus在Grafana的仪表盘配置Json

stable/prometheus-operator - 添加持久的 grafana 仪表板

如何在 grafana 仪表板中隐藏主机?