ITPub博客

首页 > 数据库 > > InfluxDB 的安装及入门

InfluxDB 的安装及入门

作者:飘絮絮絮丶 时间:2022-02-07 14:30:31 0 删除 编辑

一、前言

1. 环境信息介绍

  • CentOS 7
  • InfluxDB 1.7.1

二、部署

    1. 从官网下载InfluxDB的rpm安装包,上传至服务器。 官网地址:https://dl.influxdata.com/influxdb/releases/influxdb-1.7.1.x86_64.rpm
    1. 使用yum本地安装InfluxDB
[root@promethusgrafana ~]# yum localinstall influxdb-1.7.1.x86_64.rpm -y
    1. 启动InfluxDB并设置为开机启动
[root@promethusgrafana ~]# systemctl start influxdb
[root@promethusgrafana ~]# systemctl enable influxdb
  • 4、防火墙配置
# #开放端口
[root@promethusgrafana ~]# firewall-cmd --add-port=8086/tcp --permanent
# 重载防火墙配置
[root@promethusgrafana ~]# firewall-cmd --reload
    1. InfluxDB shell命令测试
  1. 启动cli命令
#通过influx命令进入cli命令行
influx
Connected to http://localhost:8086 version 1.4.2
InfluxDB shell version: 1.4.2
>
  1. 查看用户
> show users
user admin

3.退出influx的cli命令行

> quit
[root@promethusgrafana ~]#

三、InfluxDB的基本概念

database 数据库 measurement 度量 ,相当于table tags 标签,相当于field,会被索引 field 字段,不会被索引
概念 解释说明
  1. 创建用户并查看用户
> create user influx with password 'influx' with all privileges
> show users
user admin
---- -----
influx true
  1. database数据库
  • 通过create database 命令来创建数据库 create database db_name
  • 通过drop database 命令来删除数据库 drop database db_name
  • 通过show databases 命令来删除数据库 show databases
  • 通过use database 命令来切换数据库 use database db_name
  1. measurements measurements相当于传统数据库中的表,但是influxDB中没有创建表的语句,是直接通过insert语句来实现measurements的创建。 drop measurement measurementName
  • insert语句 insert measurementName,tag1=value1[,<tag2=value2>] field=value1[,<field2=value2>] <时间戳>
    • tag和filed和时间戳之间是使用空格进行分割的。
    • 时间戳可以不用输入,InfluxDB会自动写入时间
  • 查询所有/指定的tag字段。【tag是一种索引】 show tag keys [from measurementName]
  • 查询measurementName中app这一个tag的值 show tag values from measurementName with key="app"
  • 查询所有/指定的field字段 show field keys [from measureName]
  • 如果要查询指定的field字段的值,则直接使用select语句即可。

四、InfluxDB操作演示

[root@promethusgrafana ~]# influx
Connected to http://localhost:8086 version 1.7.1
InfluxDB shell version: 1.7.1
Enter an InfluxQL query

> show databases
name: databases
name
----
_internal
> create database test1

> show databases
name: databases
name
----
_internal
test1
> drop database test1

> show databases
name: databases
name
----
_internal

> create database test1

> show databases
name: databases
name
----
_internal
test1

> use test1
Using database test1

> show measurements

> insert testingedu,app=jmeter,class=demo cpu=0.9,memory=900
> insert testingedu,app=jmeter,class=demo cpu=0.8,memory=800

> show measurements
name: measurements
name
----
testingedu

> select * from testingedu
name: testingedu
time app class cpu memory
---- --- ----- --- ------
1620537343712501249 jmeter demo 0.9 900
1620537356349503761 jmeter demo 0.8 800

> insert testingedu,app=jmeter,class=demo cpu=0.8,memory=800 15812345678

> insert testingedu,app=jmeter,class=demo cpu=0.8,memory=800 15812345678

> select * from testingedu
name: testingedu
time app class cpu memory
---- --- ----- --- ------
15812345678 jmeter demo 0.8 800
1620537343712501249 jmeter demo 0.9 900
1620537356349503761 jmeter demo 0.8 800

> show tag keys
name: testingedu
tagKey
------
app
class

> insert testingedu1,app=jmeter,class=demo cpu=0.9,memory=900

> show tag keys
name: testingedu
tagKey
------
app
class

name: testingedu1
tagKey
------
app
class

> show tag keys from testingedu
name: testingedu
tagKey
------
app
class

> show tag values from testingedu with key="app"
name: testingedu
key value
--- -----
app jmeter

> show field keys
name: testingedu
fieldKey fieldType
-------- ---------
cpu float
memory float

name: testingedu1
fieldKey fieldType
-------- ---------
cpu float
memory float

> show field keys from testingedu
name: testingedu
fieldKey fieldType
-------- ---------
cpu float
memory float

> select memory from testingedu
name: testingedu
time memory
---- ------
15812345678 800
1620537343712501249 900
1620537356349503761 800

> select app from testingedu # 不能使用

jmeter并行跑数据时,跑了10w条数据,部分不见了,原因是并发时时间是一样的。例如:以下手动设置,只有一条记录的原因是时间戳和tag是相同的,重复插入会把数据覆盖掉。

> insert testingedu,app=jmeter,class=demo cpu=0.8,memory=800 15812345678
> insert testingedu,app=jmeter,class=demo cpu=0.8,memory=800 15812345678
> select * from testingedu
name: testingedu
time app class cpu memory
---- --- ----- --- ------
15812345678 jmeter demo 0.8 800
1620537343712501249 jmeter demo 0.9 900
1620537356349503761 jmeter demo 0.8 800

通过http查询数据

通过http从数据库查询数据.png

通过http插入数据

通过http向数据库写入数据.png

jmeter后端监听器配置

后端监听器.png
influxdbMetricsSender org.apache.jmeter.visualizers.backend.influxdb.HttpMetricsSender influxdbUrl http://192.168.197.131:8086/write?db=jmeter 这里的jmeter是数据库名 application shopxo measurement jmeter 表名 summaryOnly false 改成false,否则会将许多数据过滤掉 samplersRegex .* 一般来讲,选择所有 percentiles 90;95;99 testTitle Test name eventTags
名称 值 说明
作者:小志云端笔记链接:https://www.jianshu.com/p/efd3e25a91fc来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3146445/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-09-09

  • 博文量
    2646
  • 访问量
    42206