模板允许更多的互动和动态的仪表板。可以将变量用在度量查询中,不必硬编码诸如服务器、应用程序和传感器名称之类的东西。变量显示在仪表板顶部的下拉式选择框中。这些下拉菜单可以很容易地改变在你的仪表板显示的数据。如下

What is a variable?(什么是变量)

变量是值的占位符。可以在metric查询和panel title中使用变量。因此,当您更改值时,使用仪表板顶部的下拉菜单,面板的metric查询将更改为反映新值。

Interpolation(插入;篡改;添写写法)

Panel titles 和 metric queries可以参考使用了两种不同的语法变量:

$<varname> Example: apps.frontend.$server.requests.count
[[varname]] Example: apps.frontend.[[server]].requests.count

为什么有两种方法?第一种语法更易于阅读和书写,但不允许您在词的中间使用变量。在表达式中使用第二语法my.server[[serverNumber]].count。

在将查询发送到您的数据源之前,查询将被内插,这意味着变量将被替换为当前值。在插值过程中,变量值可能会被转义以符合查询语言的语法以及它的位置

Variable options(变量的选择)

在dashboard的顶部,变量可作为下拉选择框。它有现有的值和设定的选项。选项是您可以从中选择的值集。

Adding a variable(添加变量)

你添加的变量通过Dashboard菜单()>Templating。这将打开一个变量列表和一个创建新变量的新按钮。

Basic variable options(基本的变量选项)

variable

Name:变量的名称,这是您在Metric查询中引用变量时使用的名称。必须是唯一的,不包含空白。

Type:定义变量类型

  Query:这个变量类型允许您编写一个数据源查询,该查询通常返回一个 metric names, tag values or keys。例如,返回erver names, sensor ids or data centers列表的查询。

  interval:interval值。这个变量可以代表时间跨度。不要按时间或日期直方图间隔硬编码一个组,使用这种类型的变量。

  Datasource:此类型允许您快速更改整个仪表板的数据源。如果在不同环境中有多个数据源实例,则非常有用。

  Custom:使用逗号分隔列表手动定义变量选项。

  Constant:定义一个隐藏常数。有用的metric路径前缀的dashboards,你想分享。在dashboard export,期间,常量变量将作为一个重要的选项。

  Ad hoc filters:非常特殊类型的变量,只对某些数据源,InfluxDB及Elasticsearch目前。它允许您添加将自动添加到使用指定数据源的所有metric查询的key/value 过滤器

Label:此变量的下拉列表的名称。

Hide:隐藏下拉框的选项。

  Lable:隐藏变量名称,但下拉框显示

  variable:隐藏整个变量,不显示在顶部下拉框。

Query options

这种变量类型是最强大和复杂的,因为它可以使用数据源查询动态地获取其选项。

Data source:查询的数据源对象。数据库名

Refresh:控制何时更新变量选项列表(下拉列表中的值)。

  On Dashboard Load:会使整个dashboard加载变慢,需要使变量查询完成,dashboard才初始化。

  On Time Range Change:如果变量选项查询包含time range筛选器或依赖于dashboard time range,则仅将其设置为实时范围更改。

Query:数据源的查询表达式。

Regex:Regex to filter or capture specific parts of the names return by your data source query. Optional.

Sort:定义下拉列表中选项的排序顺序。

  Disabled:禁用意味着数据源查询返回的选项顺序将被使用。

Query expressions

每个数据源的查询表达式是不同的。

在metric 查询中,不必硬编码诸如server, application and sensor name 之类的东西,而是可以在它们的位置使用变量。
变量显示在dashboard顶部的下拉式选择框中。这些下拉菜单就可以很容易地改变在你的仪表板显示的数据。

需要注意的一点是,查询表达式可以包含对其他变量的引用,实际上创建链接变量。当它的一个含有变量的变化,Grafana将检测到并自动刷新一个变量时,

Selection Options

multi-value:如果启用,该变量将支持同时选择多个选项。

include All option:添加一个特殊的所有选项的值包括所有选项。ALL

Custon all value:By default the All value will include all options in combined expression. This can become very long and can have performance problems. Many times it can be better to specify a custom all value, like a wildcard regex. To make it possible to have custom regex, globs or lucene syntax in the Custom all value option it is never escaped so you will have to think avbout what is a valid value for your data source.

Value groups/tags

Tags query:返回数据源查询中tags的列表

Tag values query:应该返回指定tags的值列表的数据源查询。在查询中使用$tag引用当前选中的标记。

Interval variables

使用区间类型创建一个变量,代表一个时间跨度(如1m,1h、1d)。还有一个特殊auto Option选项,将根据当前时间范围的变化。您可以指定多少个时间范围来划分,计算当时auto时间间隔。
这个变量的类型是有用的group by time 参数(用于InfluxDB),日期直方图区间(Elasticsearch)或作为一个汇总函数参数(for Graphite)。
使用模板中的变量myinterval,graphite功能型区间的例子:

summarize($myinterval, sum, false)

Global Built-in Variables(全司内置变量)

Grafana有全局内置变量,可以在查询编辑器中使用。

1、The $__interval Variable

这个$__intervall变量类似于上面描述的auto间隔变量。它可以作为一个参数给group by time(for influxdb)、日期直方图间隔(for Elasticsearch)或作为一个汇总函数参数(for Graphite)进行分组。
Grafana自动计算出一个时间间隔,可以在查询中使用时间。如果有更多的数据点可以在图上显示,那么可以通过更大的区间分组来提高查询的效率。当查看3个月的数据时,按1天组比10s组(group by 1 day than by 10s)更有效率,而且这个图表看起来是一样的,而且查询的速度会更快。$__interval是使用时间范围和图的宽度来计算的(像素的数量)。
近似计算:(from - to) / resolution
例如,当时间范围是1小时,图是全屏时,那么间隔可能被计算为200万-点以2分钟的间隔分组。如果时间范围是6个月,图是全屏,那么间隔可能是1d(1天)-点以天为分组。

在InfluxDB数据源,遗留变量$interval是相同的变量。$__interval可以用来代替。

该InfluxDB和Elasticsearch数据源的Group by time interval fields,使用硬编码的间隔或或者设置$interval变量的最小值(by using the > syntax -> >10m)。

The $__interval_ms Variable

这个是 $__interval的毫秒变量(而不是一个时间间隔的格式化字符串)。例如, $__interval是20分,那么$__interval_ms是1200000。

2、The $timeFilter or $__timeFilter Variable

$timefilter变量返回当前选择的时间范围为表达。例如,时间范围区间的Last 7 days 表达时间> now() 7D。
这是用在WHERE子句中的InfluxDB数据源。Grafana查询时,查询编辑器模式InfluxDB会自动添加。它必须在文本编辑器模式下手动添加:WHERE $timeFilter。
$timeFilter在MySQL数据源中使用。

3、The $__name Variable

This variable is only available in the Singlestat panel and can be used in the prefix or suffix fields on the Options tab. The variable will be replaced with the series name or alias.

4、$col

别名字段中使用$col,只显示您分组的标记中feild()里的名

5、$tag_字段名

别名字段中使用$tag_字段名,只显示您分组的标记中标签字段

Repeating Panels(重复panels)

模板变量可以非常有用地在整个dashboard上动态地更改查询。如果你想让Grafana动态创建新的panels或 rows基于您选择您可以使用重复的特征值。

如果你的变量选择 Multi-value或Include all value 选项,你可以选择一个pane或一个row作为可以为Grafana这个row重复行每一个选定的值。在面板edit模式下的“gengeral”选项卡下找到此选项。选择要重复的变量和最小跨度(min span)。最小跨度将Grafana控制面板最小宽度(如果你有很多选择的值)。Grafana会自动调整各重复面板的宽度使整个row排满。当前,不能将其他行的面板与重复面板混合。

只对第一个面板(原始模板)进行更改。要使更改生效,您需要触发动态仪表板重新构建的所有面板。您可以通过更改变量值(那个是重复的基本)来完成这项工作,也可以重新加载仪表板。

Repeating Rows

此选项要求您打开 Row Options。在左侧行悬停以触发行菜单,在这个菜单中单击Row Options。这将打开Row Options视图。在这里,您可以找到一个重复的下拉列表,在这里您可以选择要重复的变量。

URL state

Variable values are always synced to the URL using the syntax var-<varname>=value.

 

grafana-----Templating的更多相关文章

  1. grafana查询中的变量templating

    有时我们在管理成百上千台机器的时候,配置grafana无疑是明智的,因为你不需要一个一个的把每个机器的图形都配置一遍,利用templating就可以瞬间实现n台机器的状态显示了. templating ...

  2. open-falcon(v0.2)安装grafana部署

    下载rpm wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.4.3-1.x86_64.rpm 本地 ...

  3. AspNet Core下利用 app-metrics+Grafana + InfluxDB实现高大上的性能监控界面

    在日常系统工作中,我们为了洞察系统的问题和运作情况通常会记录日志的方式来进行分析,但是在很多情况下都是被动的在出问题后才会去查日志.在很多时候,我们可能更需要相对实时的了解整个系统或者某一时段的运行的 ...

  4. Grafana 利用Grafana Variables变量配置快速切换不同主机的图表数据展示

    用Grafana Variables变量配置快速切换不同主机的图表数据展示   by:授客 QQ:1033553122 测试环境 需求描述 操作步骤 结果展示 测试环境 influxdb-1.5.2. ...

  5. Grafana + Prometheus 监控PostgreSQL

    效果图 部署环境 服务器名称 IP地址 部署业务 备注 部署agent sht-sgmhadoopcm-01 172.16.101.54 PostgreSQL 监控服务器.被监控服务器 node_ex ...

  6. 性能监控扩展篇(grafana + influxdb + telegraf)

    之前已经说过了自己写sh脚本监控,我看有人评论了说用telegraf进行数据收集,于是乎去研究了下,感觉还可以,不过磁盘io的的表个人感觉有些美中不足,并未直接给出读写速率的情况,可能是研究时间太短, ...

  7. 在k8s集群中,利用prometheus的jmx_exporter进行tomcat的JVM性能监控,并用grafana作前端展示

    查找了很多文档,没有完全达到我要求的, 于是,作了一定的调整,成现在这样. 操作步骤如下: 一,准备好两个文件. jmx_prometheus_javaagent-0.3.1.jar jmx_expo ...

  8. grafana设置Alert阈值和邮件报警

    首先我们需要在机器上开启smtp/25服务,这里有一个坑,注意,云主机为了防止滥发邮件已经封掉了smtp的所有通信,所以云主机发邮件是有问题的. 安装sendmail,ubuntu用apt,cento ...

  9. Using InfluxDB in Grafana,influxDB在grafana中使用

    grafana带有功能丰富的数据源插件influxDB.支持丰富的查询编辑器.注释和templating(模版)查询. 增加数据源(Adding the data source) 点击顶部Grafan ...

  10. Grafana 安装使用

    Grafana 安装使用 官方网址:https://grafana.com/ 官方文档:http://docs.grafana.org/ 安装 grafana 基于 RPM 的系统(CentOS,Fe ...

随机推荐

  1. 小米miui系统怎么关闭文件管理里的热门视频和表情?

    小米miui系统怎么关闭文件管理里的热门视频和表情? 打开"文件管理"后,切换到"手机"选项卡. 然后,点击屏幕右上角的一排竖点. . 在弹出的菜单中点击&qu ...

  2. 《深入理解jvm》笔记---第七章

    虚拟机类载入机制 1. 类的生命周期: 载入.验证.准备.解析.初始化.使用.卸载七个阶段.当中验证.准备.解析三个阶段统称为连接. 当中,解析的阶段的时机并不一定. 2. Java类载入的时机: J ...

  3. Spring事务的传播行为 @Transactional

    Spring事务的传播行为http://blog.csdn.net/cuker919/article/details/5957209 在service类前加上@Transactional,声明这个se ...

  4. 【MyBatis学习06】输入映射和输出映射

    在前面几篇博文的例子中也可以看到mybatis中输入映射和输出映射的身影,但是没有系统的总结一下,这篇博客主要对这两个东东做一个总结.我们知道mybatis中输入映射和输出映射可以是基本数据类型.ha ...

  5. vb调试dll

    1.有两个工程BW_DetectCard.vbp(生成dll)及识别卡检测软件.vbp(生成exe) 2.打开工程<识别卡检测软件.vbp>,在文件--添加工程--现存,找到要引用的dll ...

  6. WPF入门教程系列四

    WPF之Binding的使用(二) 一.  前言 初学WPF经常被Binding搞得苦不堪言,Binding的重用性就不做介绍了,在WPF应用程序开发中Binding是一个非常重要的部分.WPF也是近 ...

  7. YII用户注冊表单的实现熟悉前台各个表单元素操作方式

    模还是必须定义两个基本方法.还有部分label标签映射为汉字,假设进行表单验证,还要定义一些验证规则: <? php /* * 用户模型 * */ class user extends CAct ...

  8. JDBC的常用API

    一.Connection接口: 1.createStatement():创建数据库连接 2.prepareStatement(Stringsql):创建预处理语句 3.prepareCall(Stri ...

  9. Xilinx DDR3 IP核使用问题汇总(持续更新)和感悟

    一度因为DDR3的IP核使用而发狂. 后来因为解决问题,得一感悟.后面此贴会完整讲述ddr3 ip的使用.(XILINX K7) 感悟:对于有供应商支持的产品,遇到问题找官方的流程.按照官方的指导进行 ...

  10. jquery样式表和效果

    $("p").css({ "color": "#ff0011", "background": "blue&qu ...