Jmeter+Grafana+Influxdb可视化性能监控平台搭建:让压测实时的“酷炫”起来
使用Jmeter+Grafana+Influxdb可以将Jmeter压测结果数据实时的展示在Grafana上,可以更为方便查看压测数据,并让你的数据酷炫起来!
·
目录
一、前言
1.1 三种查看测试结果方式
在使用Jmeter性能测试的时候,我们一般有
三种
查看性能测试结果的方式。分别为控制台查看结果
,使用插件查看结果
,生成HTML查看结果
。
- 控制台:通过修改Jmeter相关配置,并使用命令运行脚本并实时查看压测结果。参考链接
- 插件:在GUI图形化界面运行脚本时,通过添加相关插件,查看结果变化趋势。参考链接:jp-gc系列监听器
- HTML报告:通过jmeter命令执行测试时,加上
-o HTML路径
方式,生成性能测试的HTML报告。参考链接:我的这篇博客最后一部分
这三种方式都可以用来统计性能测试的结果。但对于性能测试结果而言,我们最多只需要关注
三条曲线
的数据:TPS
、响应时间
、错误率
。
且上面这三种方法以下几点问题:
(1)整理数据结果比较浪费时间
,且结果保存后后续查看还有一个个找。
(2)GUI
使用插件
查看数据,做高并发不合适,且一般不建议使用GUI
方式去进行测试。
(3)如果场景运行时间比较长,使用HTML
生成报告的方式会消耗过多的内存
,且生成的报告中,有很多图片不是我们关注的。
1.2 需求及原理
由于上面三种方式都存在或多或少的问题。所以出现了
Jemter+Granafa+Influxdb
性能监控的方式。它们各自负责对应的作用
- Jemter:压测脚本中添加
Backend Listener
的监听器,在Jmeter脚本对服务器进行压测的同时,统计下TPS、相应时间等数据。然后通过Backend Listener
监听器将统计数据异步的传送
到Influxdb数据库中
。 - Influxdb:一种时序数据库,这里用来
存储Jmeter发送过来的数据
。 - Granafa:一种
可视化监控工具
,在其中配置好Influxdb数据库
信息后,这里最后用来展示性能测试结果信息。
二、Influx安装及配置
这里安装Influx和Grafana都是通过Docker安装的,关于Docker的安装,可以参考我的这篇博客的前面一部分:Docker安装Jenkins,它不香吗?
2.1 Docker安装Influx
- 查看并拉取镜像
##查看镜像 docker search influx ## 根据镜像名称拉取镜像 docker pull influxdb
- 运行镜像并生成容器
docker run --name my_influxdb -p 8086:8086 -v /home/influxdb:/var/influxdb influxdb
- 验证容器是否生成成功
可以用个## 查看正在运行的Docker容器 docker ps
http://服务器IP:端口号
查看是否访问无问题。
2.2 创建数据库
- 创建步骤如下
##进入Influxdb的Docker容器内 docker exec -it 容器id /bin/bash ##打开influx influx ##查看数据库并创建jmeter数据库 show databases; create database jmeter; show databases; use jmeter; select * from jmeter; exit;
三、Grafana安装及配置
2.1 Docker安装Grafana
- 查看并拉取镜像
##查看镜像 docker search grafana ## 根据镜像名称拉取镜像 docker pull grafana/grafana
- 运行镜像并生成容器
docker run --name my_grafana -p 3000:3000 grafana/grafana
2.2 Grafana配置influx
- 访问Grafana:访问网址为
http://ip:端口
,登录用户名和密码都为admin
。
- 添加数据源,并选择InfluxDB
- 配置InfluxDB相关数据
2.3 Grafana使用模板文件创建仪表盘
- 下载模板:访问链接下载模板文件,下载的模板文件官网:https://grafana.com/grafana/dashboards
- 导入模板:点击
+号
->Import
->upload .json file
,选择下载好的模板文件。
- 最后效果,点击Import之后,显示的仪表盘界面如下,并
设置自动刷新时间
。
四、Jmeter配置及压测效果
4.1 添加监听器
- 测试计划->添加监听器->
后端监听器
- 配置监听器
4.2 效果显示
- 启动Jemter脚本进行压测,压测的相关结果就会显示在Grafana上。
五、写在最后
学习该内容中的参考链接:
(1)3种方式:JMeter+Grafana+Influxdb搭建可视化性能测试监控平台
(2)16丨案例:性能监控工具之Grafana+Prometheus+Exporters
更多推荐
已为社区贡献2条内容
所有评论(0)