InfluxDB的安装、使用、模型介绍

winc 2020-04-18

转自: https://zhuanlan.zhihu.com/p/62300597

InfluxDB(时序数据库),是一个由InfluxData开发的开源时序型数据库,专注于海量时序数据的高性能读、高性能写、高效存储与实时分析等,在DB-Engines Ranking时序型数据库排行榜上排名第一,广泛应用于DevOps监控、IoT监控、实时分析等场景。

安装:

下载:
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.5.x86_64.rpm
安装:
yum localinstall influxdb-1.7.5.x86_64.rpm -y
启动:
/bin/systemctl start influxdb.service
命令行使用:
influx

InfluxDB的安装、使用、模型介绍

 五个基本核心概念:

1. show databases        show database names
类似于Mysql的数据库
2. show series           show series information
时间序列模型的概念  measurements     +   Tag  确认时间线
3. show measurements     show measurement information
可以理解为指标
4. show tag keys         show tag key information
标签,描述时间线的属性,可以多属性
5. show field keys       show field key information
时间线的值,由一列或者多列组成

InfluxDB的安装、使用、模型介绍

 简单使用:

# 先创建一个DataBase
CREATE DATABASE monitor;
use monitor;

# 写入上图中的数据(系统会自动创建Measurement)
# 写入第一条时间线数据
INSERT CPU,role=FrontServer,addr=192.168.1.1 load1=24,load5=21,load15=18 1554076800
INSERT CPU,role=FrontServer,addr=192.168.1.1 load1=27,load5=22,load15=18 1554077100
INSERT CPU,role=FrontServer,addr=192.168.1.1 load1=29,load5=23,load15=19 1554077400

# 写入第二条时间线数据
INSERT CPU,role=BackendServer,addr=192.168.1.3 load1=11,load5=18,load15=15 1554076800
INSERT CPU,role=BackendServer,addr=192.168.1.3 load1=10,load5=13,load15=13 1554077100
INSERT CPU,role=BackendServer,addr=192.168.1.3 load1=10,load5=12,load15=13 1554077400

查看Series、Measurement、Tag keys和Felid keys

1.  显示时间线 show  series

InfluxDB的安装、使用、模型介绍

 2. 显示指标  show measurements

InfluxDB的安装、使用、模型介绍

 3. 显示Tag 的key  show tag keys

InfluxDB的安装、使用、模型介绍

 4. 显示数据字段的key  show field keys

InfluxDB的安装、使用、模型介绍

 数据查询

1. 查看指标(CPU)数据,相关字段用“双引号”标出来

select * from "CPU" order by dsc

InfluxDB的安装、使用、模型介绍

 2. 查看指定的Filed 和tag

select "load5","role" froom "CPU" order by desc

InfluxDB的安装、使用、模型介绍

 3. 只查看field  select *::field from "CPU"

InfluxDB的安装、使用、模型介绍

 4. 基本运算操作

InfluxDB的安装、使用、模型介绍

# 查询指定Tag的数据,注意,Where子句的字符串值要使用“单引号”,字符串值 # 如果没有使用引号或者使用了双引号,都不会有任何值的返回
select * from "CPU" where role = ‘FrontServer‘
# 查询Field中,load1 > 20 的所有数据 select * from "CPU" where "load1" > 20

相关推荐