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

    当你看到这篇博客,说明你已经像我一样快疯了!但是还好..找到了!!! 网上的那些东西真心看了更闹心,因为还没解决... 原因一.访问路径确实错了,导致Dispatcher找不到给你传达的地方,修改下领 ...

  2. python tricks

    1. cities = ['Marseille', 'Amsterdam', 'New York', 'Londom'] # the good way for i, city in enumerate ...

  3. postgresql-无序uuid tps测试

    # postgresql-无序uuid tps测试 ## 无序uuid对数据库的影响 由于最近在做超大表的性能测试,在该过程中发现了无序uuid做主键对表插入性能有一定影响.结合实际情况发现当表的数据 ...

  4. [视频]K8飞刀 Discuz! X 系列(1.5 2.5 3.x)产品升级漏洞GetShell教程

    K8飞刀 Discuz! X 系列(1.5 2.5 3.x)产品升级漏洞GetShell教程 https://pan.baidu.com/s/1bnv2euz

  5. django model数据 时间格式

    from datetime import datetime dt = datetime.now() print '时间:(%Y-%m-%d %H:%M:%S %f): ' , dt.strftime( ...

  6. Kafka项目实战-用户日志上报实时统计之分析与设计

    1.概述 本课程的视频教程地址:<Kafka实战项目之分析与设计>  本课程我通过一个用户实时上报日志案例作为基础,带着大家去分析Kafka这样一个项目的各个环节,从而对项目的整体设计做比 ...

  7. jfinal定时任务插件jfinal-quartz

    这个定时任务插件精确的时间可以到秒,使用方面跟jfinal-scheduler插件的使用方式差不多 Dreampie/jfinal-quartz https://github.com/Dreampie ...

  8. utf-8的中文,一个字符占几个字节

    https://blog.csdn.net/kindsuper_liu/article/details/80202150 英文字母和中文汉字在不同字符集编码下的字节数英文字母:·字节数 : 1;编码: ...

  9. Jenkins : 安装 master 和 slave

    目录 安装 master 安装 slave 设置 master 与 slave 的通信方式 添加 slave 配置 在 salve 上安装 jre 安装并配置 Jenkins salve Jenkin ...

  10. git在工作中的用法总结-环境安装篇

    使用git有很长一段时间了 ,平时用到的时候都是直接google,经常用到的一些也记录在笔记中,但有时候笔记太多,实在是太乱了(其实是我太懒~ 哈?),找都要半天的时候还不如直接google,今天有空 ...