美文网首页
InfluxDB学习笔记

InfluxDB学习笔记

作者: bluexiii | 来源:发表于2018-07-02 16:59 被阅读715次

    官网

    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

    相关文章

      网友评论

          本文标题:InfluxDB学习笔记

          本文链接:https://www.haomeiwen.com/subject/plmluftx.html