以前在公司的时候,查看某些接口的负载以及访问频率等情况会用到grafana这个很好的后台UI控件。操做起来非常方便,因而趁着假期,也来简单学习一下,过程当中遇到了挺多的坑,顺便填一下,方便后来人。mysql
influxdb是一个目前来讲比较流行的时间序列数据库。通俗来说,就是以时间线贯连相通的数据库。 提及来可能有点不太容易理解,我我的以为对比学习多是一个更好的学习方法。下面按我本身的理解来描述下,说得不恰当的地方,欢迎批评指正。web
日常咱们使用的关系型数据库,规格严谨,格式统一。能够想象成是:301仓库(数据库名称) 中218房间(表名),中的一排排货架(表记录),这就是关系型数据库的典型的格式了。而相对sql
对于时间序列数据库,也还算比较相似。其还算比较完善的类SQL语法,给它加分很多,开发者只须要记忆少许的关键名词,就能够很好的使用了。时间序列数据库的形式能够这么想象: 301管线(数据库名称) 中包裹了不少条电路线(measurements,能够认为是关系型数据库的表名), 由一个个**点(Points)**组成。数据库
提及来是点,其实有点宽泛。剖开来看,点的组成有下面这些内容:windows
还有一个特殊的名词series,全部在influxDB数据库中的数据,都须要经过图表来表示,series表示这个表里面的全部的数据能够在图标上画成几条线(线条的个数规则是由tags排列组合计算出来)。浏览器
由于不想在本身的windows上再装那么多软件了,因而就安装在了Ubuntu服务器上。而后经过influxDB和Grafana自带的web界面,使用HTTP连接进行操做就能够了。bash
在Ubutu上,包管理器的存在让安装influxDB变得很方便了。服务器
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.0.2_amd64.deb
sudo dpkg -i influxdb_1.0.2_amd64.deb
复制代码
启动influxDB服务。ide
service influxdb start
复制代码
influxDB服务启动后,有两个比较特殊的端口须要了解一下,具体以下:学习
英文解释的已经很清晰了,若是仍是嫌弃不理解,白话来说就是,8083是管理员操做influxDB的服务监听端口,8086是经过HTTP(也就是web页面)操做influxDB的服务监听端口。
网上有太多的例子,我也不必在这重复造轮子,码字。所以附上一个连接,就再也不过多描述了。
https://docs.influxdata.com/influxdb/v0.10/introduction/getting_started/
看完下面的截图,顺便联想下mysql这种关系型数据库的常见操做。基本上就没什么问题了
若是是在本地开启了influxdb服务,在有UI的状况下,能够经过输入http://localhost:8086 来访问web页面来管理服务。由于我是在服务器上开的服务,因此本地经过浏览器输入对应的IP就行。
其余的CRUD什么的,就不说了。有兴趣的,直接看官方文档就好。https://docs.influxdata.com/influxdb/v0.10/guides/
跟influxDB同样,我仍是在个人服务器上安装,而后在本地远程访问。在Ubuntu上的安装方式以下:
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.6.3_amd64.deb
sudo dpkg -i grafana_4.6.3_amd64.deb
复制代码
由于是GO语言编写,没有其余的相关依赖,因此其余OS的安装方式也都很简单,详细能够参考下方文档。https://grafana.com/grafana/download
启动grafana服务。
service grafana-server start
复制代码
值得一提的是,执行这个命令最好不要在/root目录下,由于日志的须要,这些目录可能会有限制,所以须要注意一下。
服务启动后,就能够访问以下连接进行管理了。http://localhost:3000 默认的用户名密码是admin,admin。由于我只在服务器上启动了服务,因此我在本地须要使用ip的方式进行访问。
除了数据库类型以及HTTP代理以外,其余的按照本身的实际状况进行填写就好。填写完毕能够经过Save&Test进行测试。
数据源添加完毕后,下一步就是让数据以合适的形式显示出来。所以就须要DashBoard。 官网(http://docs.grafana.org/guides/getting_started/)上也有详细的教程,可是有些步骤用文字仍是稍显苍白。添加完合适的展现类型(Graph,Table等等)后,有可能你找不到对应的编辑数据源来展现数据。这里填下坑,双击图表的title,而后选择edit便可。以下图:
须要注意的是,有可能select的数据,没能按照咱们所预期的样子来进行展现,这个时候要考虑下,数据源内的数据是否是适合你选择的DashBoard类型。其余也就没什么问题了。
原本打算,使用InfluxDB写一个TODO list,后来发现这个场景并不适合。而后就简单的学习了下相关的内容,很浅。不过也算是填补一下知识的一块短板吧。多了解点,总归是没错的。
浅知拙见,写的不恰当的地方,还望批评指正,多多指教下。