InfluxDB 是 Go 语言编写的时间序列数据库,用于处理海量写入与负载查询。涉及大量时间戳数据的任何用例(包括 DevOps 监控、应用程序指标等)。我认为 InfluxDB 最大的特点在于可以按照时间序列面对海量数据时候的高性能读写能力,非常适合在性能测试场景下用作数据存储。
官方文档:Install InfluxDB | InfluxDB OSS 2.7 Documentation
参考文档:https://www.cnblogs.com/wangguishe/p/17255638.html#_label0
注意需要根据自己linux的架构来选择,本文用的是linux操作系统时候redhat
安装influxDB
以服务方式安装
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.0.x86_64.rpm
sudo yum localinstall influxdb2-2.7.0.x86_64.rpm
sudo service influxdb start
连接超时不知道原因失败。(在yum安装的时候也超时了,但提示安装成功了。)
换了一个redhat机器,重新安装成功。
检查服务状态
sudo service influxdb status
安装命令行工具
Install and use the influx CLI | InfluxDB OSS 2.7 Documentation
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.7.3-linux-amd64.tar.gz
tar xvzf path/to/influxdb2-client-2.7.3-linux-amd64.tar.gz
sudo cp influxdb2-client-2.7.3-linux-amd64/influx /usr/local/bin/ #复制至path路径
配置influxdb
influx setup \--username USERNAME \--password PASSWORD \--token TOKEN \--org ORGANIZATION_NAME \--bucket BUCKET_NAME \--force
配置后,influx会生成一个配置文件。
获得配置文件后,即可创建全访问权限令牌或开始收集和写入数据
查看 Influx CLI configs
# cat /root/.influxdbv2/configs
访问 InfluxDB dashboard
http://localhost:8086 账号密码是setup时创建的账号密码
influxQL
https://www.cnblogs.com/wangguishe/p/17256090.html
Influx Query Language (InfluxQL) reference | InfluxDB OSS 1.8 Documentation
在linux使用如下命令进入语句输入命令行
influx v1 shell
创建数据库提示 Error: not implemented: CREATE DATABASE
- 你使用的是 InfluxDB 2.x 版本:在 InfluxDB 2.x 版本中,不再使用 CREATE DATABASE 命令来创建数据库。而是使用 InfluxDB 2.x 提供的新的 API 进行数据库管理。你可以使用 InfluxDB 2.x 的 API 或 Web 界面创建数据库。
写入数据
API方式
Write data with the InfluxDB API | InfluxDB OSS 2.7 Documentation (influxdata.com)
使用API方式可以向influxdb写入数据
1、创建API token,可以在UI界面上使用APIToken创建
2、使用HTTP请求对应API接口
body为text,各个字段意思如下:
发送请求后,使用语句查询数据库,可以看到发送的数据
配置Jmeter
Write data with no-code third-party technologies | InfluxDB OSS 2.7 Documentation (influxdata.com)
1、添加后端监听器
InfluxDBBackendListenerClient
2、检查参数
- influxdbMetricsSender:
org.apache.jmeter.visualizers.backend.influxdb.HttpMetricsSender
- influxdbUrl:
http://host:8086/api/v2/write?org=my-org&bucket=jmeter
- application:
InfluxDB2
- influxdbToken: 创建的API token
- measurement: jmeter 表示创建的表名
运行测试,查看jmeter日志是否有报错
在linux进入influxQL后输入查询语句
select * from jmeter;
可以看到5条数据,其中3条分别为接口相应的90% 95% 99%百分位响应时间。