grafana-----Templating
模板允许更多的互动和动态的仪表板。可以将变量用在度量查询中,不必硬编码诸如服务器、应用程序和传感器名称之类的东西。变量显示在仪表板顶部的下拉式选择框中。这些下拉菜单可以很容易地改变在你的仪表板显示的数据。如下
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的更多相关文章
- grafana查询中的变量templating
有时我们在管理成百上千台机器的时候,配置grafana无疑是明智的,因为你不需要一个一个的把每个机器的图形都配置一遍,利用templating就可以瞬间实现n台机器的状态显示了. templating ...
- 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 本地 ...
- AspNet Core下利用 app-metrics+Grafana + InfluxDB实现高大上的性能监控界面
在日常系统工作中,我们为了洞察系统的问题和运作情况通常会记录日志的方式来进行分析,但是在很多情况下都是被动的在出问题后才会去查日志.在很多时候,我们可能更需要相对实时的了解整个系统或者某一时段的运行的 ...
- Grafana 利用Grafana Variables变量配置快速切换不同主机的图表数据展示
用Grafana Variables变量配置快速切换不同主机的图表数据展示 by:授客 QQ:1033553122 测试环境 需求描述 操作步骤 结果展示 测试环境 influxdb-1.5.2. ...
- Grafana + Prometheus 监控PostgreSQL
效果图 部署环境 服务器名称 IP地址 部署业务 备注 部署agent sht-sgmhadoopcm-01 172.16.101.54 PostgreSQL 监控服务器.被监控服务器 node_ex ...
- 性能监控扩展篇(grafana + influxdb + telegraf)
之前已经说过了自己写sh脚本监控,我看有人评论了说用telegraf进行数据收集,于是乎去研究了下,感觉还可以,不过磁盘io的的表个人感觉有些美中不足,并未直接给出读写速率的情况,可能是研究时间太短, ...
- 在k8s集群中,利用prometheus的jmx_exporter进行tomcat的JVM性能监控,并用grafana作前端展示
查找了很多文档,没有完全达到我要求的, 于是,作了一定的调整,成现在这样. 操作步骤如下: 一,准备好两个文件. jmx_prometheus_javaagent-0.3.1.jar jmx_expo ...
- grafana设置Alert阈值和邮件报警
首先我们需要在机器上开启smtp/25服务,这里有一个坑,注意,云主机为了防止滥发邮件已经封掉了smtp的所有通信,所以云主机发邮件是有问题的. 安装sendmail,ubuntu用apt,cento ...
- Using InfluxDB in Grafana,influxDB在grafana中使用
grafana带有功能丰富的数据源插件influxDB.支持丰富的查询编辑器.注释和templating(模版)查询. 增加数据源(Adding the data source) 点击顶部Grafan ...
- Grafana 安装使用
Grafana 安装使用 官方网址:https://grafana.com/ 官方文档:http://docs.grafana.org/ 安装 grafana 基于 RPM 的系统(CentOS,Fe ...
随机推荐
- 挖一挖C#中那些我们不经常使用的东西之系列(1)——ToDictionary,ToLookup
这个系列我们看看C#中有哪些我们知道.可是又不知道怎么用.又或者懒得去了解的东西,比方这篇我们要介绍的toDictionary 和ToLookup. 从图中我们看到有四个ToXXX的方法,当中ToAr ...
- flask 框架 前端和后端请求超时问题
部署模式 flask + Gunicorn + nginx 为什么要用Gunicorn + nginx ? 请看知乎大神们的回答:https://www.zhihu.com/question/3852 ...
- 使用 curl() 函数实现不同站点之间注册用户的同步
一 需求 在A站点注册一个新用户,那么,在B站点也会被同时注册 二 思路 在A站点注册的同时,调用API接口实现在B站点也会被同时注册 三 实现 主要代码如下: function http_curl( ...
- 编写C函数的技术-《lua程序设计》 27章 学习
1.数组操作 void lua_rawgeti(lua_State * L ,int index,int key) void lua_rewseti(lua_State * L,int index,i ...
- Smooks转换设计
Smooks转换设计 背景 不同的合作银行对应的外部接口是不一样的,我们需要把外部这些变化不定的接口格式,转换为我们银保通系统可以识别的内部接口.Smooks可以很好的解决这一问题.并且,当合作银行的 ...
- Atitit.自定义jdbc驱动 支持jsql
Atitit.自定义jdbc驱动 支持jsql 1. 为什么需要自定义驱动1 1.1. 透明分库分表1 1.2. 自定义数据库的接口.比如大数据文档文件类型的数据库,数据存储引擎2 2. 整个文章分 ...
- DSP6455的cmd文件
DSP6455的cmd文件 CMD 的专业名称叫链接器配置文件,存放链接器的配置信息,DSP编译器的编译结果是未定位的,DSP也没有操作系统来定位执行代码,DSP系统的配置需求也不尽相同,因此需要定义 ...
- C语言基础(16)-指针
一.指针的相关概念 1.1 指针变量 指针是一个变量,存放的是一个地址,该地址指向一块内存空间. 例: ; int *p = &a; // 定义一个指针变量p,&符号可以取得一个变量在 ...
- PHP安装加载yaf扩展
Yaf,全称 Yet Another Framework,是一个C语言编写的PHP框架,是一个用PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架, 它更快. 它提供了Bootstrap, ...
- flex初始化方法
initalize是初始化,creationcomplete是创建完成,applicationComplete是应用程序中所有的实例都创建完成后才执行,三者的执行顺序是intalize creatio ...