一、参考
二、安装与运行
2.1 安装
# 使用 brew 安装
brew install influxdb
# 查看influxdb版本
influxd version
2.2 运行
# 运行influxdb
influxd -config /usr/local/etc/influxdb.conf
三、创建数据库
3.1 连接到influxdb
# 连接到influxDB, 精度为纳秒
influx -precision rfc3339
3.2 创建数据库
# 创建数据库, mydb
CREATE DATABASE yzdb # 区分大小写
# 查看数据库列表
SHOW DATABASES
# 使用数据库mydb
USE mydb
_internal
数据库是用来存储influxDB
内部的实时监控数据
四、写入数据
4.1 基本概念
influxDB
里存储的数据被称为时间序列数据
时序数据有零个或多个数据点,每一个都是一个指标值
数据点包括:
(1) time
,时间戳,一个时间戳,可以类比为数据表中的主键索引
(2) measurement
, 指标,例如cpu_load
,可以类比为数据表名称
(3) field
,字段值,是一个k-v
对,例如:value=0.64
或temperature=21.2
, 可以类比为表中列
(4) tag
,标签,表示该指标的元数据信息,例如:host=server01
或region=EMEA
,可以类比为表中的列
4.2 写入数据
INSERT cpu,host=serverA,region=us_west value=0.64
五、查询
5.1 简单查询语句
> select * from cpu_load_short;
name: cpu_load_short
time direction host region value
---- --------- ---- ------ -----
2015-01-29T21:55:43.702900257Z in server01 us-west 2
2015-01-29T21:55:43.702900257Z server02 us-west 0.55
2020-12-03T02:41:04.964796Z server02 0.67
5.2 多个查询
多个查询之间使用;
分隔
> select count(value) from cpu_load_short;select * from cpu_load_short;
name: cpu_load_short
time count
---- -----
1970-01-01T00:00:00Z 3
name: cpu_load_short
time direction host region value
---- --------- ---- ------ -----
2015-01-29T21:55:43.702900257Z in server01 us-west 2
2015-01-29T21:55:43.702900257Z server02 us-west 0.55
2020-12-03T02:41:04.964796Z server02 0.67
六、关键概念
6.1 measurement
(1) measurement作为tag,fields和time列的容器
(2) measurement的名字是存储在相关fields数据的描述
(3) measurement在概念上类似于SQL中的table(表)
6.2 time
6.3 fields(字段)
(1) fields由field key和field value组成, 每组field key和field value的集合组成了field set;
(2) field key是字符串类型,保存了 measurement的元数据
(3) field value是实际数据,它们可以是字符串、浮点数、整数、布尔值
(4) field value总是和时间戳有关
(5) field是InfluxDB数据结构所必需的一部分——在InfluxDB中不能没有field
(6) field是没有索引的,查询相对于tag上的查询性能会低很多
(7) 一般来说,field不应包含常用来查询的元数据
6.4 tag
(1) tag由tag key和tag value组成
(2) tag key和tag value都作为字符串存储,并记录在元数据中
(3) tag set是每组tag key和tag value的不同集合
(4) tag不是必需的字段
(5) tag是索引的,这意味着对tag的查询更快,tag是存储常用元数据的最佳选择
6.5 series
series是共同retention policy,measurement和tag set的集合
6.6 point
point就是具有相同timestamp的相同series的field集合