Links

Influxdb介绍

1. InfluxDB简介

InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统。
主要特色功能:
1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
2)可度量性:你可以实时对大量数据进行计算
3)基于事件:它支持任意的事件数据

2. InfluxDB安装

1)安装

yum localinstall influxdb-0.13.0.armhf.rpm

2)启动

service influxdb start

3)访问

http://服务器IP:8083

4)docker image方式安装

docker pull influxdb
docker run -d -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --volume=/opt/data/influxdb:/data --name influxsrv influxdb:latest

3. InfluxDB的基本概念

3.1. 与传统数据库中的名词做比较

influxDB中的名词
传统数据库中的概念
database
数据库
measurement
数据库中的表
points
表里面的一行数据

3.2. InfluxDB中独有的概念

3.2.1. Point

Point由时间戳(time)、数据(field)、标签(tags)组成。
Point相当于传统数据库里的一行数据,如下表所示:
Point属性
传统数据库中的概念
time
每个数据记录时间,是数据库中的主索引(会自动生成)
fields
各种记录值(没有索引的属性)也就是记录的值:温度, 湿度
tags
各种有索引的属性:地区,海拔

3.2.2. series

所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来
show series from cpu

4. InfluxDB的基本操作

InfluxDB提供三种操作方式:
1)客户端命令行方式
2)HTTP API接口
3)各语言API库

4.1. InfluxDB数据库操作

操作
命令
显示数据库
show databases
创建数据库
create database db_name
删除数据库
drop database db_name
使用某个数据库
use db_name

4.2. InfluxDB数据表操作

操作
命令
说明
显示所有表
SHOW MEASUREMENTS
创建数据表
insert table_name,hostname=server01 value=442221834240i 1435362189575692182
其中 disk_free 就是表名,hostname是索引,value=xx是记录值,记录值可以有多个,最后是指定的时间
删除数据表
drop measurement table_name
查看表内容
select * from table_name
查看series
show series from table_name
series表示这个表里面的数据,可以在图表上画成几条线,series主要通过tags排列组合算出来