InfluxDB概述
一、释义
名词 |
概念 |
database |
数据库 |
measurement |
数据库中的表 |
points |
表里边的一行数据 |
series:
所有在数据库中的数据,都需要通过图表来表示,series表示这个表里面的所有的数据可以在图标上画成几条线。(线条的个数由tags排列组合计算出来)
> show series from cpu_info
key
---
cpu_info,host=172.16.120.87
cpu_info,host=192.168.0.105
cpu_info,host=192.168.0.200
>
二、point
属性 |
概念 |
time |
每个数据记录时间,是数据库中的主索引,自动生成 |
fields |
记录值 |
tags |
索引的属性 |
三、增删查
1、进入数据库命令
[root@node01 ~]# influx
Connected to http://localhost:8086 version 1.8.3
InfluxDB shell version: 1.8.3
>
2、数据库操作
> show databases
name: databases
name
----
_internal
prometheus
test
monitor
>
> create database test_database
> show databases;
name: databases
name
----
_internal
prometheus
test
monitor
test_database
>
> drop database test_database
> show databases;
name: databases
name
----
_internal
prometheus
test
monitor
>
> use monitor
Using database monitor
>
3、数据表操作
> show measurements
name: measurements
name
----
cpu_info
disk_info
mem_info
memory_info
network_info
>
- 新建表
influxdb没有显式新建表的语句,只能通过insert的方式建新表。
> insert demo,hostname=node01 value=1111111
> show measurements
name: measurements
name
----
demo
>
demo:表名
hostname:索引即tag
value:记录值即field
> show measurements
name: measurements
name
----
demo
> drop measurement demo
> show measurements
>
4、数据保存策略(retention policies)
influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。
- 查看当前数据库Retention Policies
> show retention policies on prometheus
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 8760h0m0s 168h0m0s 1 true
>
> create retention policy test_policy on test duration 2d replication 1 default
> show retention policies on test
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 8760h0m0s 168h0m0s 1 false
test_policy 48h0m0s 24h0m0s 1 true
>
策略名字:test_policy
对应数据库:test
保存周期:2天 (h-小时、d-天、w-周)
副本个数:1
设置为默认策略:default
> alter retention policy test_policy on test duration 1d default
> alter retention policy autogen on test duration 2w default
> show retention policies on test
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 336h0m0s 168h0m0s 1 true
test_policy 24h0m0s 24h0m0s 1 false
>
> drop retention policy test_policy on test
> show retention policies on test
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 336h0m0s 168h0m0s 1 true
> drop retention policy autogen on test
> show retention policies on test
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
>
5、查询数据
查询cpu_info表percent字段的10条记录
> select percent from cpu_info limit 10
name: cpu_info
time percent
---- -------
1620369728886012206 65.4
1620369739228792664 58.1
1620369749306015122 57.5
1620369759368818181 55
1620369769415577621 56.6
1620369779480584736 56.2
1620369789544055222 59.9
1620369810419091811 58.9
1620369820443836271 56.4
1620369830489581644 55.5
>
6、插入数据
插入数据时同时建表
> insert demo,hostname=node01 value=1111111
> show measurements
name: measurements
name
----
demo
>
7、删除数据
influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。
8、查询表字段
> show tag keys from cpu_info
name: cpu_info
tagKey
------
host
>
> show field keys from cpu_info
name: cpu_info
fieldKey fieldType
-------- ---------
percent float
>