• CentOS 7下InfluxDB部署与使用入门(转载)


    一、前言

    1、本篇适用范围

    • CentOS 7+
    • InfluxDB 1.4.x

    2、本篇环境信息

    • CentOS 7
    • InfluxDB 1.4.2

    二、部署

    1、InfluxDB安装

    • 将InfluxDB加入yum源
    cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
    [influxdb]
    name = InfluxDB Repository - RHEL $releasever
    baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
    enabled = 1
    gpgcheck = 1
    gpgkey = https://repos.influxdata.com/influxdb.key
    EOF
    
    • 安装
    #安装
    sudo yum install -y influxdb
    

    2、启动InfluxDB并设置为开机启动

    
    #启动
    sudo systemctl start influxdb
    
    #配置开机启动
    sudo systemctl enable influxdb
    

    3、防火墙配置

    #开放端口
    firewall-cmd --add-port=8086/tcp --permanent
    
    #重载防火墙配置
    firewall-cmd --reload
    

    4、InfluxDB shell命令测试

    • 启动cli命令
    #通过influx命令进入cli命令行
    influx
    Connected to http://localhost:8086 version 1.4.2
    InfluxDB shell version: 1.4.2
    >
    • 查看用户
    SHOW USERS
    

    三、配置用户和数据库

    以下均为influx shell命令

    1、创建用户

    #创建用户
    CREATE USER influx WITH PASSWORD 'influx' WITH ALL PRIVILEGES
    
    #查看用户
    SHOW USERS
    

    2、创建数据库

    #创建数据库
    CREATE DATABASE test
    
    #查看数据库
    SHOW DATABASES
    

    四、语法

    1、语法说明/简介

    InfluxDB里存储的数据被称为时间序列数据,InfluxDB存储方式跟传统关系型数据库不同的是:传统关系型数据库通过数据库+表+字段组织数据,InfluxDB通过指标、标签、字段组织数据,时间戳是默认的索引列,标签跟字段其实就相当于关系型数据库中的字段,只不过标签会被索引,而字段不会。

    另外,InfluxDB中的表(measurement)、字段(tag、field)不用事先创建,并且不存储null值。

    名次/概念ken.io 的解释
    database 数据库
    measurement 度量,相当于table;例如:cpu
    tags 标签,相当于field,会被索引;例如:host
    field 字段,不会被索引,例如:cpu_load

    将数据点写入InfluxDB,只需要满足如下的行格式:

    <measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]
    

    2、语法示例

    通过influx命令进入cli命令行练习语法

    • 插入语法
    #Using 数据库
    USE test
    
    #插入数据
    INSERT cpu,host=192.168.1.1 load=0.1,usage=0.2
    

    Insert的时候如果没有带时间戳,InfluxDB会自动添加本地的当前时间作为它的时间戳。

    • 查询语法
    #查询所有数据
    SELECT * FROM "cpu"
    SELECT "host","load","usage" FROM "cpu"
    
    #根据条件查询
    SELECT "host","load","usage" FROM "cpu" WHERE "host" = '192.168.1.1'
    SELECT "host","load","usage" FROM "cpu" WHERE "usage" > 0.1
    
    • 其他语法
    # 创建数据库
    CREATE DATABASE "db_name"
    # 显示所有数据库
    SHOW DATABASES
    # 删除数据库
    DROP DATABASE "db_name"
    
    # 使用数据库
    USE mydb
    # 显示该数据库中的表
    SHOW MEASUREMENTS
    # 删除表
    DROP MEASUREMENT "t_name"
    

    五、HTTP API示例

    1、创建数据库API

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

    2、写入数据API

    #写入单条
    curl -i -XPOST http://localhost:8086/write?db=test --data-binary "cpu,host=192.168.1.3 load=0.1,usage=0.33"
    
    curl -i -XPOST http://localhost:8086/write?db=test --data-binary "cpu,host=192.168.1.3 load=0.1,usage=0.33 6666666666666666666"
    
    #写入多条
    curl -i -XPOST http://localhost:8086/write?db=test --data-binary "cpu,host=192.168.1.2 load=0.1,usage=0.22 1666666666666666661 
    cpu,host=192.168.1.3 load=0.1,usage=0.33 1666666666666666661 
    cpu,host=192.168.1.2 load=0.2,usage=0.22 1666666666666666662 
    cpu,host=192.168.1.3 load=0.2,usage=0.33 1666666666666666662"
    

    3、查询数据API

    curl -G http://localhost:8086/query?db=test --data-urlencode "q=SELECT * FROM  "cpu""
  • 相关阅读:
    Android git提交代码所需忽略的文件
    python 代码命名规范
    appium-设计思路
    appium-循环执行一条用例,失败时停止执行
    BeautifulReport 遇到的问题 template
    接口自动化
    python-装饰器
    linux-vi编辑器创建和编辑正文文件
    linux-文件的压缩与解压缩
    python学习第一天
  • 原文地址:https://www.cnblogs.com/zhukaijian/p/13204266.html
Copyright © 2020-2023  润新知