基于Grafana的监控数据钻取功能应用实践
互联网企业中,随着机器规模以及业务量的爆发式增长,监控数据逐渐成为一种大数据,对监控大数据的分析,包括数据采集、数据缓存、数据聚合分析、数据存储、数据展现等几个阶段。不同阶段有不同的解决方案及支撑工具,而数据展现作为最终的可视化手段,在整个监控大数据分析过程中起着举足轻重的作用,本文分享一下笔者基于Grafana的监控数据钻取功能应用实践,供感兴趣的同行做参考。

Grafana作为一个开源的数据分析展现平台,其丰富的图表、灵活的插件、多样的数据源、快速华丽的展现,总让做监控数据分析的人爱不释手,叹为观止,可以说“无Grafana,不监控展现”,关于Grafana的详细介绍不再赘述,本文重点探讨下Grafana的钻取功能。

Grafana虽然可以迅速展现各种监控时序数据,但当数据量比较大时,也会出现性能瓶颈,因此不宜用Grafana直接展现收集到的监控原始数据,而应对监控原始数据做聚合分析,将分析后的摘要数据存储到时序数据库中,将监控原始(详细)数据存储到NoSQL数据库中,Grafana只展现监控摘要数据,通过钻取功能,查看对应的监控详细数据,从而加速数据展现并对监控数据进行溯源。

在Grafana的General标签页下内置了两种钻取功能:通过链接跳转到另一个面板(Type为dashboard)或者跳转到自定义的钻取界面(Type为absolute),为了能更精确的控制钻取联查结果,我们一般采用后者。其中Url即要跳转到的页面的链接,Title是这个链接的显示名称,Url params是传递给链接的静态参数,也可以设置一些动态参数,比如时间范围(Include time range)、变量(Include variables)等,链接默认是在当前窗口打开的,也可以设置在新的窗口打开(Open in new tab)。钻取设置完毕,会在对应的Panel左上角显示一个向上的钻取箭头,鼠标移动到钻取箭头上,会显示前面定义的Title,点击该Title,就跳转到了自定义的钻取详情页面。
钻取详情页面,一般先通过列表的方式展现时序数据,推荐使用InfluxDB存储监控时序数据,查询InfluxDB中一段时间范围的时序数据时,会涉及到分页展现的问题,通过以下方式可以对InfluxDB进行数据库端分页:
1.查询总条数
SELECT COUNT(某一个Filed列) FROM measurement WHERE 时间范围
2.查询指定页指定条数
假设前台传过来的页数字段是page,每页条数字段是rows,那么查询指定页指定条数可以这样写:
SELECT time,Field列 FROM measurement WHERE 时间范围 LIMIT rows OFFSET (page - 1)*rows
通过列表展现时序数据后,可以继续钻取联查存储在HBase或ES中监控详细数据,从而实现通过Grafana快速展现摘要数据,逐步穿透钻取联查详细数据的效果。
基于Grafana的监控数据钻取功能应用实践的更多相关文章
- nagios+influxdb+grafana的监控数据可视化流程
nagios介绍 nagios是一款开源监控的应用,可用于监控本地和远程主机的日志.资源.死活等等诸多功能.通过snmp协议和nrpe协议. nagios的配置文件是由nconf上进行配置,然后点击生 ...
- Prometheus入门到放弃(3)之Grafana展示监控数据
grafana我们这里采用docker方式部署 1.下载镜像 镜像官网地址:https://hub.docker.com/r/grafana/grafana/tags [root@prometheus ...
- 4.Grafana展示监控数据
Grafana是什么?我们知道Node_export监控服务器状态,但是没有具体的展示,简单来说,Grafana的主要作用就是对监控的数据进行图形化展示. docker部署 grafana我们这里采用 ...
- 大数据(3):基于sogou.500w.utf8数据Hbase和Spark实践
1. HBase安装部署操作 a) 解压HBase安装包tar –zxvf hbase-0.98.0-hadoop2-bin.tar.gzb) 修改环境变量 hbase-env.shexport JA ...
- 基于Centos7.4搭建prometheus+grafana+altertManger监控Spring Boot微服务(docker版)
目的:给我们项目的微服务应用都加上监控告警.在这之前你需要将 Spring Boot Actuator引入 本章主要介绍 如何集成监控告警系统Prometheus 和图形化界面Grafana 如何自定 ...
- UAVStack JVM监控分析工具:图形化展示采集及分析监控数据
摘要:UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据:同时提供JVM基本参数获取.内存dump.线程分析.内存分配采样和热点方法分析等功能. 引言 ...
- sentinel控制台监控数据持久化【InfluxDB】
根据官方wiki文档,sentinel控制台的实时监控数据,默认仅存储 5 分钟以内的数据.如需持久化,需要定制实现相关接口. https://github.com/alibaba/Sentinel/ ...
- 探索Windows Azure 监控和自动伸缩系列2 - 获取虚拟机的监控定义和监控数据
上一篇博文介绍了如何连接Windows Azure: http://www.cnblogs.com/teld/p/5113063.html 本篇我们继续上次的示例代码,获取虚拟机的监控定义和监控数据. ...
- [博客迁移]探索Windows Azure 监控和自动伸缩系列2 - 获取虚拟机的监控定义和监控数据
上一篇博文介绍了如何连接Windows Azure: http://www.cnblogs.com/teld/p/5113063.html 本篇我们继续上次的示例代码,获取虚拟机的监控定义和监控数据. ...
随机推荐
- java 手动实现远程执行功能(深入理解java虚拟机)
1.功能类 功能类共有五,分别是: package org.jvm; import java.io.*; /** * 对字节数组操作的工具类 */ public class ByteUtils { ...
- itext实现合同尾部签章部分自动添加,定位签名
使用的pom <!-- pdf处理 start--> <dependency> <groupId>com.itextpdf</groupId> < ...
- Flask源码复习之路由
构建路由规则 一个 web 应用不同的路径会有不同的处理函数,路由就是根据请求的 URL 找到对应处理函数的过程. 在执行查找之前,需要有一个规则列表,它存储了 url 和处理函数的对应关系.最容易想 ...
- Xcode 8.X Command Line Tools
Summary Step 1. Upgrade Your System to macOS Sierra Step 2. Open the Terminal Application Step 3. Is ...
- 从零开始学 Web 之 CSS3(八)CSS3三个案例
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 移动Web(一)屏幕相关基本知识,调试,视口,屏幕适配
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- JavaWeb学习(二十九)———— 事务
一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句 update from account set mone ...
- JavaWeb学习 (十九)————JavaBean
一.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点: 这个Java类必须具有一个无参的构造函数 属性必须私有化. 私有化的属性必须通过public类型的方法 ...
- Algolia使用教程 , 超详细傻子看都会
框架描述 发现网上Algolia这块的资料较少,就花了点时间从官网上整理了下,总结了几项常用的功能用法. 现在比较有名的Algolia提供了云搜索的服务.具体办法是我们将数据库的信息以JSON的格式上 ...
- MVC中子页面如何引用模板页中的jquery脚本
MVC中子页面如何引用模板页中的jquery脚本 最近在学习mvc,遇到了一个问题:在html页面中写js代码,都是引用mvc5自带的jquery脚本,虽然一拖(将指定的jquery脚本如 jquer ...