目录
- 简介
- 部署InfluxDB
- 部署Grafana
- 配置JMeter
一、简介
-
使用数据展示平台展示JMerter实时压测数据
二、部署InfluxDB
- InfluxDB是-一个用Go语言开发的开源分布式时序数据库。
- 使用8086端口
使用Docker进行部署
新建容器网络:
docker network create grafana
-
查看容器网络:
docker network ls
-
运行容器:
docker run -d --name=influxdb --network grafana -p 8086:8086 -v ${PWD}/influxdb/:/var/lib/influxdb/ influxdb:1.7.10
,运行成功会返回容器id-
-d
:后台运行容器 -
--name
:指定运行的容器名称,类似于域名 -
--network
:指定容器网络 -
-p
:指定端口 -
-v
:将数据库文件挂载到当前的 influxdb 目录下
-
-
创建数据库
-
第一种方式:
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE jmeter"
-
查看数据库:
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=SHOW DATABASES"
-
删除数据库:
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=DROP DATABASES"
-
第二种方式:
docker exec -it influxdb influx
,执行语句create database jmeter;
-
-
简单使用
show databases;
use jmeter;
show measurements;
select * from imeter limit 3;
-
exit
:退出
三、部署Grafana
部署Grafana
Grafana是一个可视化面板(Dashboard) 工具,有非常漂亮的图表展示功
能、齐全的度量仪表盘和图形编辑器-
运行容器:
docker run -d --name grafana --network grafana -p 3000:3000 grafana/grafana:6.6.2
-
查看容器运行状态:
docker ps
默认登陆账号:admin, 密码:admin
-
访问3000端口
配置Grafana数据源
- 配置InfluxDB数据源
- URL:http://influxdb:8086
- Database:jmeter
- Min time interval:5
-
进入添加数据源界面
-
选择Influxdb
-
配置数据源
导入Dashboard
-
进入Dashboard管理界面
-
导入需要的Dashboard
-
填写导入jmeter的网址:https://grafana.com/grafana/dashboards/5496,点击
load
Tips:第一次点击 load 可能会出错,需要重复操作一次
-
填写名字、DB name等,进行导入
-
进入到Dashboard
四、配置JMeter
添加后端监听器,将数据写入Influxdb
-
路径:线程组 -> 添加 -> 监听器 -> 后端监听器
-
配置后端监听器
influxdbUrl:host要改为运行JMeter的主机地址,db为创建的influxdb数据库名,此处为jmeter
-
application
对应Grafana的application
-
Measurement
对应Grafana中的Measurement name
-
summaryOnly:设置为
true
则grafana不会记录错误信息,设置为false
才会记录
开始压测
-
指定刷新时间
-
开始请求
-
查看grafana数据
添加事务控制器
-
在后端监听器中修改
application
,用于新建一个检测面板
-
添加事务控制器:线程组-> 添加-> 逻辑控制器-> 事务控制器
-
将HTTP请求与后端监听器放入事务控制器中
-
刷新grafana,
application
选择修改后的host61
-
查看事务面板,发现有数据
-
grafana中的
transaction
可以切换事务
其他事项
-
进入数据库:
docker exec -it influxdb influx
-
查看数据表并查看数据:
show measurements
-
查看事件:
select * from events
,与jmeter后端监听器的testTitle
一致