文章目录
一、前言
二、Jmeter 性能测试持续可视化环境搭建
1、Jmeter
1.1 Jmeter 简介
2.1 Jmeter 环境搭建
2、influxDB
2.1 influxDB 简介
2.2 influxDB 环境搭建
2.2.1 influxDB 下载和安装
2.2.2 influxDB 配置和启动
2.3 Chronograf 可视化管理工具平台
2.3.1 Influxdb 数据库命令行
2.3.2 Chronograf 可视化管理工具平台
3、Grafana
3.1 Grafana 简介
3.2 Grafana 环境搭建
3.3 Grafana 环境配置
3.4 Grafana配置Jmeter仪表盘
3.4.1 寻找仪表盘Dashboard模板地址
3.4.2 搜索 influxDB数据源模 > Jmeter > 并记录模板id (1152)
3.4.3 Grafana添加Jmeter仪表盘(1152)并配置数据库
4、小节
三、Jmeter + influxDB + Grafana 数据联动调试
1、Jmeter 脚本脚本示例
1.1 Jmeter 环境依赖配置
1.2 Jmeter jmx脚本文件配置
1.3 Jmeter 脚本运行
2、influxDB数据库查看
2.1 命令行 查看数据库并行生成表格
2.2 Chronograf 可视化管理工具平台 查看
3、Grafana配置展示
四、结束语
一、前言
用jmeter做性能压测,压测出来的报告都是用jmeter原生自带的HTML测试报告。
Html报告对于压测性能分析来说已能满足,“精益求精”学习jmeter扩展支持的监控体系的强大,采用Jmeter + influxdb + Grafana 方式来搭建jmeter性能压测的监控,优化性能测试报告和实现持续压测和监控。
数据流转流程图
Jmeter + influxdb + Grafana 演示图.png
二、Jmeter 性能测试持续可视化环境搭建
1、Jmeter
1.1 Jmeter 简介
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。
2.1 Jmeter 环境搭建
请参考上一篇CSDN博文 性能测试 性能测试实战(四)Jmeter测试环境搭建 Centos运行Jmeter jmx Jmeter命令行详解 Jmeter生成Html性能测试报告 Jmeter 分布压测如何做?前期基础教程
https://blog.csdn.net/qq_25305833/article/details/122155194
jmeter原生自带的HTML测试报告演示
2、influxDB
2.1 influxDB 简介
InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。InfluxDB 包括用于存储和查询数据,在后台处理ETL或监视和警报目的,用户仪表板以及可视化和探索数据等的API。
默认端口:8086,且无密码
2.2 influxDB 环境搭建
2.2.1 influxDB 下载和安装
下载地址
https://repos.influxdata.com/centos/7/x86_64/stable/
资源展示图
执行下载
wget https://repos.influxdata.com/centos/7/x86_64/stable/influxdb2-2.1.1.x86_64.rpm
执行安装
yum localinstall influxdb2-2.1.1.x86_64.rpm
2.2.2 influxDB 配置和启动
influxDB 两个主要文件位置
influxdb.service: /usr/lib/influxdb/scripts/influxdb.service
influxdb.conf: /etc/influxdb/influxdb.conf
更改服务启动配置
vim influxdb.service
将User和Group值改成root
[Service]
User=root
Group=root
LimitNOFILE=65536
EnvironmentFile=-/etc/default/influxdb
ExecStart=/usr/bin/influxd -config /etc/influxdb/influxdb.conf $INFLUXD_OPTS
KillMode=control-group
Restart=on-failure
[Install]
WantedBy=multi-user.target
Alias=influxd.service
重新生效服务
systemctl daemon-reload
启动Influxdb服务
临时启动:systemctl start influxdb
开机启动:systemctl enable influxdb
查看Influxdb安装成功
[root@localhost ~]# influx -version
InfluxDB shell version: 1.8.10
2.3 Chronograf 可视化管理工具平台
2.3.1 Influxdb 数据库命令行
# 进入数据库
[root@benjamin /]# influx
Connected to http://localhost:8086 version 1.8.4
InfluxDB shell version: 1.8.4
# 显示数据库表
> show databases
name: databases
name
----
_internal
# 创建/删除数据库
> create database jmeterTest
> show databases
name: databases
name
----
_internal
jmeterTest
# 切换数据库 展示表
> use jmeterTest
Using database jmeterTest
> show measurements
>
# 查询表
> select * from jmeterTest
2.3.2 Chronograf 可视化管理工具平台
由于InfluxDB1.x以后就没有了webUI界面,所以需要Chronograf来实现可视化构建。
下载安装
wget https://dl.influxdata.com/chronograf/releases/chronograf-1.8.10.x86_64.rpm
sudo yum localinstall chronograf-1.8.10.x86_64.rpm
启动Chronograf
systemctl start chronograf
systemctl enable chronograf
访问webUI界面,配置influxdb数据库
http://127.0.0.1:8888
添加数据配置
查看数据库
3、Grafana
3.1 Grafana 简介
Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。
3.2 Grafana 环境搭建
官网下载地址
https://grafana.com/grafana/download
官网下载地址展示
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.3.3-1.x86_64.rpm
sudo yum install grafana-enterprise-8.3.3-1.x86_64.rpm
启动grafana
启动服务:systemctl start grafana-server
开机启动:systemctl enable grafana-server
重新启动:systemctl restart grafana-server
查看运行:service grafana-server status
3.3 Grafana 环境配置
Grafana默认访问地址:http://localhost:3000,默认用户名admin密码admin
添加InfluxDB数据源步骤如下:
Configration –>Data Sources –> Add data source > InfluxDB Select
3.4 Grafana配置Jmeter仪表盘
3.4.1 寻找仪表盘Dashboard模板地址
官方下载地址
https://grafana.com/dashboards?dataSource=influxdb
3.4.2 搜索 influxDB数据源模 > Jmeter > 并记录模板id (1152)
记录模板id,并获取Jmeter依赖包下载地址
3.4.3 Grafana添加Jmeter仪表盘(1152)并配置数据库
Grafana > Create > Import > 1152
※这里的measurement name要和jmeter里的一致~
4、小节
1问:环境搭建,做了什么?
1答:influxdb环境搭建和配置、Grafana环境搭建和配置并添加influxdb数据,Jmeter仪表盘
2问:为什么?
2答:influxdb数据库存储数据,Grafana读取数据并通过仪表盘进行可视化数据展示。
三、Jmeter + influxDB + Grafana 数据联动调试
1、Jmeter 脚本脚本示例
1.1 Jmeter 环境依赖配置
Jmeter依赖包配置目录
.\apache-jmeter-5.4.1\lib\ext
Jmeter依赖包下载地址
https://github.com/NovatecConsulting/JMeter-InfluxDB-Writer/releases/download/v-1.2/JMeter-InfluxDB-Writer-plugin-1.2.jar
1.2 Jmeter jmx脚本文件配置
Theead Group > Listener
Backend Listener 配置
注意修改红色框对应的数据,线程组测试建议循环低线程组长时间运行。
1.3 Jmeter 脚本运行
持续运行jmx脚本生成数据
2、influxDB数据库查看
2.1 命令行 查看数据库并行生成表格
> show databases
name: databases
name
----
_internal
jmeter
jmeterTest
jmeter1152
>
> use jmeter1152
Using database jmeter1152
>
> show measurements
name: measurements
name
----
requestsRaw
testStartEnd
virtualUsers
2.2 Chronograf 可视化管理工具平台 查看
3、Grafana配置展示
四、结束语
如果觉得文章写不错,那就点个赞,点个收藏吧。
可关注微信公众号,后期有推文