InfluxDB学习笔记

2018-07-02  本文已影响715人  bluexiii

官网

https://www.influxdata.com/time-series-platform/influxdb/

InfluxDB是InfluxData的核心产品。InfluxDB是一个开源分布式时序、时间和指标数据库,使用Go语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。

教程

https://www.jianshu.com/p/48104975d60a
https://www.jianshu.com/p/a373784c0bf9
https://www.jianshu.com/p/b51ba7f88fb0
https://jkzhao.github.io/2017/12/15/时序数据库InfluxDB/

安装方式

https://influxdata.com/downloads/

macOS

brew update
brew install influxdb

https://dl.influxdata.com/influxdb/releases/influxdb-1.5.4_darwin_amd64.tar.gz
tar zxvf influxdb-1.5.4_darwin_amd64.tar.gz

Docker

docker pull influxdb

Ubuntu

wget https://dl.influxdata.com/influxdb/releases/influxdb_1.5.4_amd64.deb
sudo dpkg -i influxdb_1.5.4_amd64.deb

CentOS

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.5.4.x86_64.rpm
sudo yum localinstall influxdb-1.5.4.x86_64.rpm

配置

macOS安装

配置文件路径

/usr/local/etc/influxdb.conf
/etc/influxdb/influxdb.conf

名词

name desc
database 数据库
measurement 数据库中的表
points 表里面的一行数据
time 每个数据记录时间,是数据库中的主索引(会自动生成)
fields 各种记录值(没有索引的属性)也就是记录的值:温度, 湿度
tags 各种有索引的属性:地区,海拔

创建数据库

influx

show databases;
create database testdb;

显示所有表

show measurements

新建表

无建表语句,第一次insert后自动创建

insert weather,altitude=1000,area=北 temperature=11,humidity=-4
weather  # 表名
altitude=1000,area=北  # tag
temperature=11,humidity=-4  # field

删除表

drop measurement weather 

series操作

series表示这个表里面的数据,可以在图表上画成几条线,series主要通过tags排列组合算出来。

show series from weather

HTTP创建和删除数据库

curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"
curl -POST http://localhost:8086/query --data-urlencode "q=DROP DATABASE mydb"

HTTP添加数据

单条

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

多条

curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server02 value=0.67
cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257
cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257'

使用HTTP查询数据

curl -GET 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=show measurements"

或直接在浏览器中:

http://localhost:8086/query?pretty=true&db=mydb&q=show%20measurements

查询多条:

curl -GET 'http://localhost:8086/query?db=_internal' --data-urlencode "q=show databases;show measurements"

时间格式

epoch=[h,m,s,ms,u,ns]

curl -G 'http://localhost:8086/query' --data-urlencode "db=mydb" --data-urlencode "epoch=s" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west'"

指定每次查询数据大小

chunk_size

curl -G 'http://localhost:8086/query' --data-urlencode "db=mydb" --data-urlencode "chunk_size=200" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west'"

WEB控制台

1.3内置8086WEB管理已经移除,需要使用TICK工具栈中的Chronograf来进行管理。

下载安装说明:
https://portal.influxdata.com/downloads

brew install chronograf

使用:
http://localhost:8888

上一篇下一篇

猜你喜欢

热点阅读