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

 

by:授客 QQ:1033553122

测试环境

需求描述

操作步骤

结果展示

测试环境

influxdb-1.5.2.x86_64.rpm

网盘下载地址:

https://pan.baidu.com/s/1jAbY4xz5gvzoXxLHesQ-PA

grafana-5.1.2-1.x86_64.rpm

下载地址:

https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.1.3-1.x86_64.rpm

下载地址:https://pan.baidu.com/s/1wtnPH-iYxaXc6FnL1i0ZVg

需求描述

在一个Dashboard中新建了多个pannel,用于监控目标主机性能,因为需要监控的机器比较多,所以,希望用这一套pannel能方便的展示不同主机的性能--根据用户选择的目标机器,自动展示对应的性能数据。

此外,还希望这些pannel在展示数据时,能根据用户所选的tag进行展示。

另外,还希望在某个pannel上展示1到多个measurement的数据,比如想同时查看看单个、多个磁盘的%util的性能数据

操作步骤

1、新建Dashboard及pannel

2、进入步骤1新建的 Dashboard页面,点击Settings->Variables->Add variable

点击后打开如下界面

3、新建Datasource变量

说明:例中每台主机的性能数据单独存储在一个Datasource数据源中,所以需要新建这样一个数据源变量。

如图,

General中   填写 Name, Type选择 Datasource,

Data source options   Type选择InfluxDB

其它,设置项保持默认。

说明:

Name 变量名称,要求变量名唯一,且不包含空白字符。

Label 变量在下拉列表中中的名称(The name of the dropdown for this variable。

Hide 隐藏该变量的下拉选择框,即在Dashboard中不展示。

Type 定义变量类型。

4、新建Query变量

说明:tag值需要通过查询得到,所以要新建Query变量。

如图,

General中   填写 Name, Type选择 Query,

Data source options   Data source选择刚新建的变量 $dataSource,以保持变量“联动”,Refresh 设置为On Time Range Change。填写Query表达式(表达式书写规则因数据源不同而不同, 比如mysql,InfluxDB数据库都用各自的查询语法, InfluxDB为例,查询tag值 SHOW TAG VALUES WITH KEY= ‘stuid’ (这里stuid为tag的key)。Sort选择 Alphabetical(asc),按字母顺序升序排序

存储到数据源中的数据结构如下

json_body = [
    {
        "measurement": measurement,
        "tags": {
            "stuid": tag
        },
        "time": datetime_for_data,
        "fields":field_dic
    }
]

Selection Options 勾选Muiti-value,include All option以便变量下拉列表中可以进行多选,否则单选。

其它,设置项保持默认。

说明:

Data source    设置从哪个数据源中查询。

Refresh 控制啥时候更新变量选择列表(变量下拉列表中的值)。可选值 never(从不)、On Dashboard Load(Dashboard加载完成之前更新,这会减慢加载速度) 、On Time Range Change(如果变量选项包含一个时间范围过滤,即和时间相关,或者依赖dashboard时间范围选择)

Query 因数据源不同而不同的特定查询表达式

Regex 正则表达式,用于过滤Query返回的数据(可能我们只需要Query返回中的部分数据,可选。

Sort 定义下拉选项的顺序,设置为Diasble则表示保持按查询返回的数据排序。

Multi-value  如果勾选,即开启,则变量下拉列表指出多选

Include All option   添加一个 All 选项,该选项表示包含所有变量值

Custom all value  如上,默认添加的ALL选项会包含同查询表达式绑定的所有值,这些值可能会有很多,这会带来性能问题,这种情况下,我们可以指定一个自定义all值,比如一个通配符正则表达式(globs 或 lucene 语法的表达式),以减少all所包含的数据量,如果发现设置了不起作用,那么要考虑正则表达式是否正确了。

新建供磁盘使用的measurement Query变量

5、编辑pannel,引用变量

结果展示

参考链接:

http://docs.grafana.org/reference/templating/

http://docs.grafana.org/features/datasources/influxdb/

附:

来自网络的一个演示demo:

http://47.96.36.117:3000/dashboard/db/nginxfang-wen-tong-ji?spm=a2c4g.11186623.2.78.546e6e15HziVlc&orgId=1

Grafana 利用Grafana Variables变量配置快速切换不同主机的图表数据展示的更多相关文章

  1. 利用Python特殊变量__dict__快速实现__repr__的一种方法

    在<第8.15节 Python重写自定义类的__repr__方法>.<Python中repr(变量)和str(变量)的返回值有什么区别和联系>.<第8.13节 Pytho ...

  2. 阿里云SLB快速切换至https

    域名caifuxiang.com是直接解析到阿里云SLB的,运行了好几年的http服务,今天通过修改配置快速切换到了https,莫名就感觉更上档次了! 首先,SSL证书 服务可以提供免费单域名证书 w ...

  3. 一些有用的 Emacs 配置(窗口快速切换、一键透明效果、任意位置删除整行等)

    本篇文章记录的是一些有用的 Emacs 配置,有些是自己原创,有些是借鉴别人(能记起来出处的我放了链接). 规定:C 代表 Ctrl,M 代表 Alt. 1.设置一次跳跃 n 行的快捷键 按 C-M- ...

  4. Windows环境下使用Netsh命令快速切换IP配置

    不同的内网环境需要使用不同的IP配置,频繁切换令人发狂,因此搜索了快速切换IP配置的方法. Netsh interface IP Set address "以太网" Static ...

  5. 性能测试 CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据

    CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 2 1.安装influxdb ...

  6. 如何快速切换Python运行版本,如何选择Python版本

    想必在学习Python时会面临选择Python2.X或者是Python3.X的问题. 我在电脑上不同位置下载安装了不同版本 的Python,当我在学习时,不管是需要哪一个版本才能运行都无所谓,相应的快 ...

  7. 第一篇 Postman的初级使用之设置环境快速切换生成环境与测试环境

    POSTMAN是有谷歌的开源工具,在开发调试.测试执行过程中使用频率非常广泛,本文将记录一些postman在测试中常见的一些配置和使用方法 一.基本的页面区域 略,很简单,大家都会看,再有,学习下面的 ...

  8. [刘阳Java]_避开环境配置快速的使用Java的开发工具_第5讲

    我们一般学习Java都应该遵循通过系统的命令工具来编译Java程序,然后对编译好Java程序进行运行,这个是非常好的习惯.但是随着后期学习Java技术的深入我们也得像Java的IDE工具屈服.所以,可 ...

  9. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

随机推荐

  1. [Swift]LeetCode389. 找不同 | Find the Difference

    Given two strings s and t which consist of only lowercase letters. String t is generated by random s ...

  2. shell 问题备忘

    一 ls结果赋给变量 dirSrc=$(ls test/ -l | awk '/^d/{print $NF}') echo "dirSrc is $dirSrc" 二 使用cut查 ...

  3. 002-J2EE-tomcat的配置

    在配置之前我们要先下载一个Tomcat,登入以下网址... 下载解压完了之后可以把里面多余的东西删掉,当然也可以选择不删. 还有这里的也是 如果已经有了 classes 和l ib 目录了, 就不用再 ...

  4. pytthon—day8 读写模式的结合、文件操作模式、with完成文本文件复制、游标操作

    一.读写模式的结合 w:写指没有新建文件,有文件就清空 w=open('1.txt','w',encoding='utf-8') w.write('000\n') 在写入数据时,需要及时处理内存空间, ...

  5. 如何优雅的利用Windows服务来部署ASP.NET Core程序

    上一篇文章中我给大家讲述了五种部署ASP.NET Core网站的方法,其中有一种方式是通过Windows服务来进行部署,这样既可以做到开启自启动,又不会因为iis的反向代理而损失部分性能.但是美中不足 ...

  6. .NET Core 2.x中使用Named Options处理多个强类型配置实例

    来源: Using multiple instances of strongly-typed settings with named options in .NET Core 2.x 作者: Andr ...

  7. Nancy in .Net Core学习笔记 - 视图引擎

    前文中我们介绍了Nancy中的路由,这一篇我们来介绍一下Nancy中的视图引擎. Nancy中如何返回一个视图(View) 在ASP.NET Mvc中,我们使用ViewResult类来返回一个视图.N ...

  8. Android Studio代码行数统计插件Statistics

    Android Studio 是没有提提供统计代码全部行数的功能的,但是对于开发者来说,这个功能确实必备的,Statistic统计代码行数非常方便,也很详细. 1,首先肯定是将插件下载下来,下载地址: ...

  9. Chapter 5 Blood Type——10

    "What?" “什么?” "Your boyfriend seems to think I'm being unpleasant to you — he's debat ...

  10. leetcode — largest-rectangle-in-histogram

    import java.util.Stack; /** * * Source : https://oj.leetcode.com/problems/largest-rectangle-in-histo ...