早期的时候,项目基于ES+echart写了一些仪表盘的展示页面,虽然ES配合这种char界面有着天然的优势,但实际写起代码来,还是很多重复的劳动,在一次偶然中发现Grafana,看到它提供了很多仪表盘式的图型,功能很强大,于是下载下来试了下效果不错。因为全部都是鼠标操作,都不用写代码,真正智能套件。

如题,应用Grafana之前,你需要对es聚合查询知识有一定了解

先看效果


因为网上这种图比较多,这里就不细看了,目前Grafana如何使用的文章不多,下面是我总结的一些经验,其中有一部份是从官网查到的资源,先把官网地址贴下,至于如何使用,大家可以参考下官网,官网文档对于初学者比较难懂,而我写这篇文章的目的是对于初次使用grafana的同学有个比较底的学习门槛。

1,下载安装

这块省略,自行,对于windows版本和linux版本,我都下载试了下,效果完全一样,使用方式也一样。

2,配置数据源

先上ES索引,这个索引主要存储各应用请求的访问量

这个是我测试环境ES的索引名称,一般情况索引都是以日期结尾,这点将在grafana建数据源的时候用到,好了,开始操作建数据源

然后再点击 add datasourch,出现这个界面


上图中index name里的值是:[hlog-crm3-hig-c-req-elapsed-time-]YYYY.MM.DD

这个是elasticearch-head插件下索引里一条数据,展示这个是为了填Elasticsearch details中对于Time field name字段的理解

保存成功后数据源就建好了

3,建图表


建这个表的步骤


把标记的三个点都操作完后,效果就出来了,这个就是按ES的聚合操作来的,这是最简单的求和,意思是在这个时间段内将所有的请求数求和,展示出来的数据表示今天内所有的请求数,注意一点,这个结果值都是按这个聚合时间来算的。
因为是测试数据,所以,数据量比较少。

这个查询的结果就是,根据sGrp字段分组,查出这个分组下的数据访问量,而这个分组存的主要是各系统的标识,所以,整个翻译过来就是,各系统请求访问量实时监控图。
如果想x轴想展示出group的名称,则可以这样选择

这样,x轴就从时间变成了各系统名称了
如果我只想展示一种,该如何办了,这个时候就需要用到这个工具的另一个操作了

目前对于这个query的操作我只发现这样有用,官网上对这个做了详细说明,至于官网上那种用法,读者如有更详细的用法,可以留言给我
这是官网文档地址:
http://docs.grafana.org/features/datasources/elasticsearch/

还有一个就是耗时分布图了,这个图的功能很强大,以前我想到过这样一种工具来展示,无奈echart对这个支持实现起来比较麻烦,但在这里真的点点就可以了
首先,我得拿出我出的es里的数据来解释下

span是指这个请求的耗时,那么我将要实现一个根据每个请求的耗时来展示出耗时的区间分布
首先是添加一个heatmap
选择数据源后这样操作

选择平均值,然后再选择字段,注意,这个时间Y轴的值是个数,而我们需要的是时间(毫秒),所以还得更改下Y轴的值

至于颜色设置什么的,不是重点,读者可以自己选择。
这样一来就可以展示出各请求耗时段时间分布了,至于,如何区分出一个系统的,还是不同时间段的都跟前面的图表操作一致
后面还有个饼图的,这里就不再展示,注意,饼图这个是官方提供的插件,要去官网上下载,操作起来也是很简单的。

总结

本文的目的就为了简化Grafana的入门学习成本,本人因为对es图表有过开发,学习这个软件时理解起来相对容易点,但在刚开始接触的时候,还是发现文档较少,而且大部份文档都只做出了个效果图,并没有实际操作的过程和解释,学习起来难免有点成本。
当然,Grafana也有一些局限,对于单索引操作比较容易,对于多个索引的过滤暂时是不支持的,不过也能理解,ES本身对于多索引也支持不够,还有就是如果是特别复杂的聚合计算,grafana还是做不了的,它本身不支持原生的es查询语法,也就不能对一些多层次的聚合查询做展示,当然这一点也不影响它,因为对于es来说,单个索引的聚合查询才是它的优势,而且没有比它更加优秀的功能更强大的展示图表功能了。

Grafana elasticsearch 应用的更多相关文章

  1. ELK从5.6.3升级到6.3.0总结

    ELK从5.6.3升级到6.3.0总结 由于6.3.0默认有es的监控功能,并且我们现在es总是有各种问题,原有的es开源插件head和HQ的监控都不够详细,所以决定升级es集群.我们目前es有5个n ...

  2. Elasticsearch集群状态脚本及grafana监控面板导出的json文件

    脚本文件: #!/usr/bin/env python import datetime import time import urllib import json import urllib2 imp ...

  3. Metrics+ElasticSearch+grafana

    Metrics+ElasticSearch+grafana--性能监控解决方案 https://blog.csdn.net/Shiyaru1314/article/details/76906461 利 ...

  4. 使用Kafka、Elasticsearch、Grafana搭建业务监控系统(三)Elasticsearch

    https://blog.csdn.net/tonywu1992/article/details/83576863

  5. Elastic:使用Grafana监视 Elasticsearch

  6. Ubuntu上Grafana 监控 Docker的技巧

    导读 Grafana 是一个有着丰富指标的开源控制面板.在可视化大规模测量数据的时候是非常有用的.根据不同的指标数据,它提供了一个强大.优雅的来创建.分享和浏览数据的方式. 它提供了丰富多样.灵活的图 ...

  7. 开源监控利器grafana

    前言: 做运维的很重要的基础工作就是监控,之前都是统计数据入库,然后前端js图表插件出图,费时费力,可定制性差 前几天接触到了ELK(logstash, elasticsearch, kibana)这 ...

  8. 使用statsd+graphite+grafana构建业务及性能监控模块

    近些年随着DevOps概念越来越收到重视,除了传统的Splunk,Zabbix外在开源领域也有越来越多的软件可供使用.从数据收集,时序数据库,图形展示等主要方面有各类可扩展的软件用于搭建一个数据监控平 ...

  9. elasticsearch插件之一:kibana

    介绍: 要说kibana,就不得不先说一下logstash.这里呢,先要讲个故事.故事是开头是这样的,Logstash早期曾经自带了一个特别简单的logstash-web用来查看ES中的数据,其功能太 ...

随机推荐

  1. JAVA框架 Spring 事务

    一.我们之前在hibernate的时候,需要直接写事务,需要绑定当前线程保证获取同一个连接,虽然hibernate的帮我们封装绑定当前现成的操作,但是需要我们手动的去开启和关闭事务. 而spring帮 ...

  2. Leetcode——64. 最小路径和

    题目描述:题目链接 同样对于这个问题,我们可以考虑用动态规划来解决. 解决动态规划常见的三个步骤: 1:问题的归纳.对于 i,j 位置上的最短路径可以用d[ i ][ j ]表示. 2:归纳递推式:d ...

  3. $\rm{NOIp}$板子整理

    怎么说呢,整理这个的目的就是为了有个简约的\(list\),方便以后查阅,复习起来不至于太吃力. 并且--好像重温一遍所有,会更有一些新的认识.这也算是对我所学的一点整理了吧. 一.并查集的两种方式 ...

  4. CentOS7下双网卡iptables端口转发规则

    1. 拓扑图 10.1.1.173(内网目标)  <--------  10.1.1.207(内网网关)+172.16.5.100(外网入口) <----------- 172.16.6. ...

  5. js 获取当前页url网址信息

    转载地址:js如何准确获取当前页面url网址信息 摘录: 举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1 1.window ...

  6. TensorFlow(1):使用Docker镜像搭建TensorFlow环境

    1,关于TensorFlow TensorFlow 随着AlphaGo的胜利也火了起来. google又一次成为大家膜拜的大神了.google大神在引导这机器学习的方向. 同时docker 也是一个非 ...

  7. [胡泽聪 趣题选讲]大包子环绕宝藏-[状压dp]

    Description 你有一个长方形的地图,每一个格子要么是一个障碍物,要么是一个有一定价值的宝藏,要么是一个炸弹,或者是一块空地.你的初始位置已经给出.你每次可以走到上.下.左.右这四个相邻的格子 ...

  8. VS中为非控制台程序提供控制台输出窗口

    /************************************************************************/ /* 模块名:ConsoleAdapter 文件名 ...

  9. [LOJ#6068]. 「2017 山东一轮集训 Day4」棋盘[费用流]

    题意 题目链接 分析 考虑每个棋子对对应的横向纵向的极大区间的影响:记之前这个区间中的点数为 \(x\) ,那么此次多配对的数量即 \(x\) . 考虑费用流,\(S\rightarrow 横向区间 ...

  10. 用10分钟,搭建图像处理编程环境,0失败!(python语言,windows系统)

    以前,你可能看过很多的文章,开始搭建一个图像处理的编程环境. 结果,按照教程一步一步做的时候,总是出现各种各样的问题. 就算成功了,后续开发过程中要用到不同版本的opencv,不同版本python,更 ...