基于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 时间范围blog

2.查询指定页指定条数flux

  假设前台传过来的页数字段是page,每页条数字段是rows,那么查询指定页指定条数能够这样写:rem

  SELECT time,Field列 FROM measurement WHERE 时间范围 LIMIT rows OFFSET (page - 1)*rows数据分析

 经过列表展示时序数据后,能够继续钻取联查存储在HBase或ES中监控详细数据,从而实现经过Grafana快速展示摘要数据,逐步穿透钻取联查详细数据的效果。

相关文章
相关标签/搜索