性能监控中的很多数据都是根据时间维度来生成的,就算是很少的几台服务器,如果设置了大量的监控项,每天的数据量也是很客观的,再加上是成千上万的服务器,这个量级就很大了。
时间序列在自动化运维/智能运维的技术会场中经常能听过,而自己在QCon上对于宇辰分享的时间序列相关的主题很感兴趣。里面有非常多的门道和空间,其实等我意识到的时候,外面都不知道火了多久了。
所以今天就抽空看了下这方面的东西,不对的地方还希望多多指正。
时间序列(Time Series)数据库目前的使用情况如何,可以通过DB-Engines得到一个基本的情况。这是刚刚抓取到的数据。
头把交椅的是InfluxDB,所以我想先了解一下它。
对于InfluxDB目前我知道两个站点,一个是官网,一个是github。根据官网提供的信息,目前最新版本为1.2
这样一个数据库安装起来非常简单,就是下载直接安装,v0.8是通过wget的方式得到rpm初始化,而到了v1.2里面是通过配置yum源的方式来构建,本质都一样,下面是官网的而一个安装的界面,可以看到目前支持的平台很多,咦,怎么没有windows平台。
而在github上,那叫一个繁荣,你看看星就知道了。
这样一个基于事件和指标的数据库,是使用go语言开发的,所以从通读源码这块来深入学习,空间还很大,go语言的同学还是有福了。rpm的包打开是15M左右,当然不是说源码是15M.
官网链接的指导链接是:
https://docs.influxdata.com/influxdb/v0.8/introduction/getting_started/
通过菜单的功能项可以看出来支持的API还是很全面的,可以对数据进行读取,写入,统计分析,还有类似SQL的查询语言。
而UI的部分算是它很有特色的部分,在可视化方面的工具还真不少,比如官网的工具,比如Grafana,一个纯粹的html/js应用,图形的展现和渲染效果很赞,Percona的监控管理工具PMM就配合Grafana做了数据的展现,看起来很炫。
后续来逐步解析时间序列数据库。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-2139830/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23718752/viewspace-2139830/