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

  1. nagios+influxdb+grafana的监控数据可视化流程

    nagios介绍 nagios是一款开源监控的应用,可用于监控本地和远程主机的日志.资源.死活等等诸多功能.通过snmp协议和nrpe协议. nagios的配置文件是由nconf上进行配置,然后点击生 ...

  2. Prometheus入门到放弃(3)之Grafana展示监控数据

    grafana我们这里采用docker方式部署 1.下载镜像 镜像官网地址:https://hub.docker.com/r/grafana/grafana/tags [root@prometheus ...

  3. 4.Grafana展示监控数据

    Grafana是什么?我们知道Node_export监控服务器状态,但是没有具体的展示,简单来说,Grafana的主要作用就是对监控的数据进行图形化展示. docker部署 grafana我们这里采用 ...

  4. 大数据(3):基于sogou.500w.utf8数据Hbase和Spark实践

    1. HBase安装部署操作 a) 解压HBase安装包tar –zxvf hbase-0.98.0-hadoop2-bin.tar.gzb) 修改环境变量 hbase-env.shexport JA ...

  5. 基于Centos7.4搭建prometheus+grafana+altertManger监控Spring Boot微服务(docker版)

    目的:给我们项目的微服务应用都加上监控告警.在这之前你需要将 Spring Boot Actuator引入 本章主要介绍 如何集成监控告警系统Prometheus 和图形化界面Grafana 如何自定 ...

  6. UAVStack JVM监控分析工具:图形化展示采集及分析监控数据

    摘要:UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据:同时提供JVM基本参数获取.内存dump.线程分析.内存分配采样和热点方法分析等功能. 引言 ...

  7. sentinel控制台监控数据持久化【InfluxDB】

    根据官方wiki文档,sentinel控制台的实时监控数据,默认仅存储 5 分钟以内的数据.如需持久化,需要定制实现相关接口. https://github.com/alibaba/Sentinel/ ...

  8. 探索Windows Azure 监控和自动伸缩系列2 - 获取虚拟机的监控定义和监控数据

    上一篇博文介绍了如何连接Windows Azure: http://www.cnblogs.com/teld/p/5113063.html 本篇我们继续上次的示例代码,获取虚拟机的监控定义和监控数据. ...

  9. [博客迁移]探索Windows Azure 监控和自动伸缩系列2 - 获取虚拟机的监控定义和监控数据

    上一篇博文介绍了如何连接Windows Azure: http://www.cnblogs.com/teld/p/5113063.html 本篇我们继续上次的示例代码,获取虚拟机的监控定义和监控数据. ...

随机推荐

  1. python实现stack并测试

    栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算. 这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它是把新 元素放 ...

  2. Python基础入门教程(3)

    人生苦短,我学Pyhton Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于199 ...

  3. Liferay7 BPM门户开发之25: Liferay7应用程序配置(APPLICATION CONFIGURATION)

    首先有几个概念需要明确.1.第一个概念是这里的应用程序配置不是写XML之类的配置文件,是类似字典的类型化配置这意味着应用程序配置不只是一个字符串键值对的列表.值还可以有类型,如整数列表,字符串列表,一 ...

  4. 多目标跟踪MOT评价指标

    目录 1. MOT评价指标 2. 实现思路 3. 计算指标 1. MOT评价指标 MOT:multiple object tracking 评价出发点: 所有出现的目标都要及时能够找到: 目标位置要尽 ...

  5. 脚手架vue-cli系列二:vue-cli的工程模板与构建工具

    上篇文章我们提到了vue-cli的工程模板.这里我们来详细的进行介绍. vue-cli提供的脚手架只是一个最基础的,也可以说是Vue团队认为的工程结构的一种最佳实践.对于初学者或者以前曾从事Angul ...

  6. odoo开发笔记 -- 升级模块 提示外部ID找不到

    可能的原因: 排查顺序: 1.id在视图中的加载顺序问题. 可能是:__manifest__.py文件,view文件先后加载顺序有问题:也可能是:xml 视图文件中,被引用的id出现在了引用id的下方 ...

  7. Fork/Join框架

    java 5开始引入了Executor和ExecutorService接口以及实现这两个接口的类之后,使得java在并发支持上得到了进一步的提升.执行器框架(Executor Framework)将任 ...

  8. 函数调用的区别:_cdecl以及_stdcall

    一.概念1)_stdcall调用   _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,由调用者完成压栈操作,被调函数自身在返回前清空堆栈.   WIN32 Api都采用_ ...

  9. 如何在线显示php源代码

    通过php提供的函数highlight_file和highlight_string实现

  10. Android目录结构及作用

    1.add-ons-->Google API .比如GoogleMaps 2.build-tools-->各版本SDK编译工具. 3.docs-->离线开发者文档Android SD ...