JMeter原生报告的缺点:
无法实时共享
报告信息的展示不美观
需求方案
为了解决上述问题,可以通过 InfluxDB + Grafana解决 :
- InfluxDB :是一个开源分布式指标数据库,使用 Go 语言编写,无需外部依赖
应用:性能监控,应用程序指标,物联网传感器数据和实时分析等的后端存储 - Grafana :Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,
用于将存储于InfluxDB中的数据以图表的形式展示出来
应用: 将 Jmeter 的数据导入 InfluxDB ,再用 Grafana 从 InfluxDB 中获取数据并以
特定的模板进行展示
docker的安装
bash
yum install docker
如果使用上述方式安装,遭遇了数字签名问题。这主要是由于该命令安装的是Docker的旧版本,其签名机制与当前的系统环境存在不兼容,可以参考下面的链接方式安装
https://www.8a.hk/news/content/8235.html
InfluxDB 的安装
2 下载InfluxDB的镜像,默认为下载最新的镜像:
bash
[root@www ~]# docker pull influxdb:1.7.10
# 使用 docker pull influxdb 安装最新版本的后面可能会无法进入 influx 需要安装 influx CLI才可以
这个可能是自己服务器版本的关系
3 启动一个容器,并将端口 8083 和 8086 映射出来
bash
[root@www ~]#
docker run -d --name jmeter-influx -p 8083:8083 -p 8086:8086 influxdb:1.7.10
docker rm -f
-d:容器在后台运行
-p:将容器内端口映射到宿主机端口,格式为 宿主机端口:容器内端口;8083是influxdb的web管理工
具 端口,8086是influxdb的HTTP API端口
--name:容器名称
最后是镜像名称
检查是否启动成功:docker images
4 进入容器内部,创建名为jmeter的数据库:
bash
$ docker exec -it jmeter-influx bash
5 启动控制台客户端,进入 influx
6 在容器内部创建mydata数据库,用于收集JMeter发送的压测数据
部署Grafana
1 下载grafana的镜像:
bash
docker pull grafana/grafana
2 启动一个grafana容器,将3000端口映射出来:
bash
docker run -d --name grafana -p 3000:3000 grafana/grafana