前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7下InfluxDB部署与使用入门

CentOS 7下InfluxDB部署与使用入门

作者头像
KenTalk
发布2018-09-11 11:40:56
3.3K2
发布2018-09-11 11:40:56
举报
文章被收录于专栏:Ken的杂谈Ken的杂谈
一、前言
本篇适用范围
  • CentOS 7+
  • InfluxDB 1.4.x
环境信息
  • CentOS 7
  • InfluxDB 1.4.2
二、安装
  • 将InfluxDB加入yum源
代码语言:javascript
复制
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
  • 安装&启动
代码语言:javascript
复制
#安装
sudo yum install -y influxdb

#启动
sudo systemctl start influxdb

#配置开机启动
sudo systemctl enable influxdb
  • 防火墙配置
代码语言:javascript
复制
#开放端口
firewall-cmd --add-port=8086/tcp --permanent

#重载防火墙配置
firewall-cmd --reload
  • 启动cli命令
代码语言:javascript
复制
#通过influx命令进入cli命令行
influx
Connected to http://localhost:8086 version 1.4.2
InfluxDB shell version: 1.4.2
>
三、配置
  • 创建用户
代码语言:javascript
复制
#创建用户
CREATE USER influx WITH PASSWORD 'influx' WITH ALL PRIVILEGES

#查看用户
SHOW USERS
  • 创建数据库
代码语言:javascript
复制
#创建数据库
CREATE DATABASE test

#查看数据库
SHOW DATABASES
四、语法

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

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

名次/概念

ken.io 的解释

database

数据库

measurement

度量,相当于table;例如:cpu

tags

标签,相当于field,会被索引;例如:host

field

字段,不会被索引,例如:cpu_load

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

代码语言:javascript
复制
<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[,<field2-key>=<field2-value>...] [unix-nano-timestamp]

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

  • 插入
代码语言:javascript
复制
#Using 数据库
USE test

#插入数据
INSERT cpu,host=192.168.1.1 load=0.1,usage=0.2

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

  • 查询
代码语言:javascript
复制
#查询所有数据
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
  • 其他
代码语言:javascript
复制
# 创建数据库
CREATE DATABASE "db_name"
# 显示所有数据库
SHOW DATABASES
# 删除数据库
DROP DATABASE "db_name"

# 使用数据库
USE mydb
# 显示该数据库中的表
SHOW MEASUREMENTS
# 删除表
DROP MEASUREMENT "t_name"
五、HTTP API
  • 创建数据库
代码语言:javascript
复制
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE test"
  • 写入数据
代码语言:javascript
复制
#写入单条
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"
  • 查询数据
代码语言:javascript
复制
curl -G http://localhost:8086/query?db=test --data-urlencode "q=SELECT * FROM  \"cpu\""
六、备注
  • 延伸阅读

Grafana 安装部署:https://cloud.tencent.com/developer/article/1333852 Grafana + InfluxDB数据源以及曲线图表仪表盘配置:https://cloud.tencent.com/developer/article/1333854

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
    • 本篇适用范围
      • 环境信息
      • 二、安装
      • 三、配置
      • 四、语法
      • 五、HTTP API
      • 六、备注
      相关产品与服务
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档