一分钟 Get 时序数据库 InfluxDB 的技能

1

通过上期分享《实践指路明灯,源码剖析flink-metrics》,对当下较火的流式处理框架 flink 的指标监控体系有了全局的认识,并结合 flink-metrics-xxxx 模块进行深入分析,对 flink 是如何集成监控轮子了如之掌。

不过,源码中的 flink-metrics-influxdb 模块,你是否留意到?按照设计规范,不用多想,那肯定是 flink 指标监控对 influxdb 的集成。

那么,influxdb ?influxdb 是啥?influxdb 你用过吗?

今天稍微花一分钟,带你 Get 这门技能,放心不会伤脑。

一分钟 Get 时序数据库 InfluxDB 的技能_第1张图片

(图看不清放大了去看)

2

去说 InfluxDB 之前,先聊聊,什么是时间序列数据(时序数据)?

时间序列数据就是在不同时间上收集到的数据,主要有两个关键指标:监测时间和监测数值。生活中常见的时间序列数据,包括股票价格、网站的 PV/UV、服务器系统监控数据(比如 CPU 和内存占用率)等等。

那时间序列数据应该存到哪儿?时间序列数据库(TSDB)是啥?

A time series database (TSDB) is a software system that is optimized for storing and serving time series through associated pairs of time(s) and value(s)

https://en.wikipedia.org/wiki/Time_series_database

简单去理解,时间序列数据可以存储到 TSDB 中,因为 TSDB 是用于存储和分析时间序列数据的数据库。

一分钟 Get 时序数据库 InfluxDB 的技能_第2张图片

如图所示,在 DB-ENGINES 给出的最新的时间序列数据库的排名中,InfluxDB 高居第一位,而脸熟的 Prometheus、Graphite 等也位居其中,下面就以 InfluxDB 作为突破口进行体验。

3

3.1 磨刀霍霍。

首先,选择您最中意的版本进行下载。

https://portal.influxdata.com/downloads/

一分钟 Get 时序数据库 InfluxDB 的技能_第3张图片

本次以 v1.7.10 的 Mac 系统版本进行安装。

https://dl.influxdata.com/influxdb/releases/influxdb-1.7.10_darwin_amd64.tar.gz

下载解压后的目录全局概览,不同安装方式会不同,但是着重关注 usr/bin/ 目录,后续操作的命令全在这里啦。

一分钟 Get 时序数据库 InfluxDB 的技能_第4张图片

然后,按照安装手册进行配置,若是为了体验,默认配置也够用啦。

https://docs.influxdata.com/influxdb/v1.7/introduction/installation/

3.2 披荆斩棘。

下载安装已经完成,执行 ./influxd 命令启动 InfluxDB。

一分钟 Get 时序数据库 InfluxDB 的技能_第5张图片

一顿命令操作猛如虎,熟练工种。

一分钟 Get 时序数据库 InfluxDB 的技能_第6张图片

熟练工种,命令多练就是啦,感受一下与传统数据库有啥不同?

一分钟 Get 时序数据库 InfluxDB 的技能_第7张图片

另外,InfluxDB 也提供了 HTTP API 方式操作。

一分钟 Get 时序数据库 InfluxDB 的技能_第8张图片

简单整理了一下,/ping 可以获取 InfluxDB 实例信息以及健康状况;/write 提供插入数据的功能;/query 提供查询数据的功能。

InfluxDB 提供 API 要比这多,用到之时再深入也未尝不可。

3.3 拨云见日

InfluxDB 与传统数据库有啥不同呢?

一分钟 Get 时序数据库 InfluxDB 的技能_第9张图片

如图示意,InfluxDB 中的 measurement 类似于传统数据库中的表,包含了列 time、tags 和 fields。

tag key/value 类似于传统数据库里索引的列;

field key/value 类似于传统数据库里没有索引的列;

time 存着时间戳,类似于传统数据库的主键。

另外,有没有什么轮子,可以更好的展示 InfluxDB 中的数据呢?

InfluxDB 位居 DB-ENGINES 排名首榜,对应的展示数据的轮子还是很多的,例如官方的 Chronograf,以及提及多次的 Grafana 等等。

闲暇之余,可以参考官方文档去深入。

https://docs.influxdata.com/influxdb/v1.7/introduction/getting-started/

4

InfluxDB 本次就说到这里,希望你们能有所获。

下期,我们将结合源码,去看看别人都是怎么用 InfluxDB 的?并尝试把 InfluxDB、Grafana 这些轮子组装到一起,看看组装之后的车子能否跑起来,敬请期待。

推荐阅读:

这些技术轮子,让监控落地成为现实!

你可能感兴趣的:(一分钟 Get 时序数据库 InfluxDB 的技能)