InfluxDB | 基础知识
Contents
InfluxDB 初步了解及安装使用
简介
InfluxDB, 一个开源的时序数据库(Time Series Database), 对记录指标、事件和性能分析非常有用,无外部依赖(Go Coding)
特点
- 无结构(无模式),可以是任意数量的列
- 内置 HTTP 接口: 因此无需编写任何服务端代码即可启动和运行
- 可以标记数据:从而实现非常灵活的查询
- 类 SQL 查询语句
- 简单安装和管理(自带管理界面),并且读写数据很高效
- InfluxDB 旨在实时响应查询:即当每个数据点进来的时候都被计入索引,并且立即可用于查询,响应时间在 100ms 内
特色功能
- Time Series 时间序列:支持与时间有关的函数(如:min, max, sum, count, mean, median)
- Metrics 可度量性:可实时对大量数据进行计算
- Events 事件:支持任意的事件数据
安装
Docker
1
|
$ docker pull influxdb |
Centos
1 2 |
$ wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.0.x86_64.rpm $ sudo yum localinstall influxdb-1.6.0.x86_64.rpm |
Ubuntu
1 2 |
$ wget https://dl.influxdata.com/influxdb/nightlies/influxdb_nightly_amd64.deb $ sudo dpkg -i influxdb_nightly_amd64.deb |
InfluxDB 安装完成后,会包含如下文件及工具, 以 ubunt 系统为例:
|
|
网络
InfluxDB 默认使用下面的网络接口:
- TCP 8086
用作 InfluxDB 客户端和服务器的 HTTP API 通信
- TCP 8088
给备份和恢复数据的 RPC 服务使用
另外,InfluxDB 也提供了多个可能需要自定义端口的插件,所有的端口映射都可以通过配置文件进行修改, 对于默认安装的 InfluxDB, 默认配置文件位于:/etc/influxdb/influxdb.conf
配置
安装好后每个文件都有了默认的配置,你可以通过 influxd config
来查看这些默认配置
在配置文件中的绝大部分都已经被注释掉了,所有这些被注释掉的配置都是由内部默认值决定的。配置文件里任意没有注释的配置都可以用来覆盖内部默认值,需要注意的是,本地配置文件不需要包括每一项配置。
有两种方法可以用来自定义的配置文件来运行 InfluxDB:
运行时通过可选参数
-config
来指定:1
$ influxd -config /etc/influxdb/influxdb.conf
设置环境变量
INFLUXDB_CONFIG_PATH
来指定, 例如:1 2 3
$ echo $INFLUXDB_CONFIG_PATH $ /etc/influxdb/influxdb.conf $ influxd
其中,-config
的优先级高于环境变量
NTP
NTP (Network Time Protocol), NTP is a protocol designed to synchronize the clocks of computers over a network.
InfluxDB 使用服务器本地时间给数据加时间戳,而且是 UTC 时区的。并使用 NTP 来同步服务器之间的时间,如果服务器的时钟没有通过 NTP 同步,那么写入InfluxDB 的数据的时间戳就可能不准确。
See Also
Thanks to the authors 🙂