influxDB+Grafana初体验

以前在公司的时候,查看某些接口的负载以及访问频率等情况会用到grafana这个很好的后台UI控件。操做起来非常方便,因而趁着假期,也来简单学习一下,过程当中遇到了挺多的坑,顺便填一下,方便后来人。mysql

简要概述

influxdb是一个目前来讲比较流行的时间序列数据库。通俗来说,就是以时间线贯连相通的数据库。 提及来可能有点不太容易理解,我我的以为对比学习多是一个更好的学习方法。下面按我本身的理解来描述下,说得不恰当的地方,欢迎批评指正。web

  • 日常咱们使用的关系型数据库,规格严谨,格式统一。能够想象成是:301仓库(数据库名称)218房间(表名),中的一排排货架(表记录),这就是关系型数据库的典型的格式了。而相对sql

  • 对于时间序列数据库,也还算比较相似。其还算比较完善的类SQL语法,给它加分很多,开发者只须要记忆少许的关键名词,就能够很好的使用了。时间序列数据库的形式能够这么想象: 301管线(数据库名称) 中包裹了不少条电路线(measurements,能够认为是关系型数据库的表名), 由一个个**点(Points)**组成。数据库

提及来是点,其实有点宽泛。剖开来看,点的组成有下面这些内容:windows

  • 时间: 由influxDB自动生成。记录着每条记录(Points)的生成时间。
  • field: 字段,各类记录的值。key-value的value为数值型。
  • tags: 须要被添加索引的key-value。通常常常被查询到的字段要设置为tag。

还有一个特殊的名词series,全部在influxDB数据库中的数据,都须要经过图表来表示,series表示这个表里面的全部的数据能够在图标上画成几条线(线条的个数规则是由tags排列组合计算出来)。浏览器

环境

由于不想在本身的windows上再装那么多软件了,因而就安装在了Ubuntu服务器上。而后经过influxDB和Grafana自带的web界面,使用HTTP连接进行操做就能够了。bash

influxDB的安装

在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: TCP port 8083 is used for InfluxDB’s Admin panel
  • 8086: TCP port 8086 is used for client-server communication over InfluxDB’s HTTP API

英文解释的已经很清晰了,若是仍是嫌弃不理解,白话来说就是,8083是管理员操做influxDB的服务监听端口,8086是经过HTTP(也就是web页面)操做influxDB的服务监听端口。

简单操做

网上有太多的例子,我也不必在这重复造轮子,码字。所以附上一个连接,就再也不过多描述了。

https://docs.influxdata.com/influxdb/v0.10/introduction/getting_started/

经过命令行

看完下面的截图,顺便联想下mysql这种关系型数据库的常见操做。基本上就没什么问题了

经过命令行操做influxdb

经过web页面

若是是在本地开启了influxdb服务,在有UI的状况下,能够经过输入http://localhost:8086 来访问web页面来管理服务。由于我是在服务器上开的服务,因此本地经过浏览器输入对应的IP就行。

经过web后台操做influxdb数据库

其余的CRUD什么的,就不说了。有兴趣的,直接看官方文档就好。https://docs.influxdata.com/influxdb/v0.10/guides/

安装grafana

跟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目录下,由于日志的须要,这些目录可能会有限制,所以须要注意一下。

简单应用grafana

服务启动后,就能够访问以下连接进行管理了。http://localhost:3000 默认的用户名密码是admin,admin。由于我只在服务器上启动了服务,因此我在本地须要使用ip的方式进行访问。

添加DataSource

除了数据库类型以及HTTP代理以外,其余的按照本身的实际状况进行填写就好。填写完毕能够经过Save&Test进行测试。

添加DataSource

添加DashBoard

数据源添加完毕后,下一步就是让数据以合适的形式显示出来。所以就须要DashBoard。 官网(http://docs.grafana.org/guides/getting_started/)上也有详细的教程,可是有些步骤用文字仍是稍显苍白。添加完合适的展现类型(Graph,Table等等)后,有可能你找不到对应的编辑数据源来展现数据。这里填下坑,双击图表的title,而后选择edit便可。以下图:

编辑图表,展现数据

须要注意的是,有可能select的数据,没能按照咱们所预期的样子来进行展现,这个时候要考虑下,数据源内的数据是否是适合你选择的DashBoard类型。其余也就没什么问题了。

总结

原本打算,使用InfluxDB写一个TODO list,后来发现这个场景并不适合。而后就简单的学习了下相关的内容,很浅。不过也算是填补一下知识的一块短板吧。多了解点,总归是没错的。

浅知拙见,写的不恰当的地方,还望批评指正,多多指教下。

相关文章
相关标签/搜索