JMeter 5.0 + InfluxDB + Grafana 性能测试监控平台(Windows平台)

1. 前言

JMeter往往需要执行完之后拼凑完测试报告,才能看到结果。命令行里的内容也不够详细。那么如何在执行过程中实时监控执行效果呢?

1.1 InfluxDB 和 Grafana是什么?

最近在朋友的推荐下学习k6,发现k6有一套完善的监控平台生态,就是k6 + InfluxDB + Grafana。
在这里插入图片描述
简单介绍一下
k6是一个新兴的性能测试工具
InfluxDB是一种时序数据库,用来存放监控数据
Grafana是一个可视化图表平台

这个组合可以解决我们的痛点,那就是性能测试过程中的不透明。同时官方很早就支持了InfluxDB,甚至还有官方报告样式直接套用。这篇文章就给大家演示一下如何部署,一起学习。

1.2 JMeter的历代支持变迁

经过查阅发现
JMeter 2.13版本开始支持向InfluxDB的2003监听端口传数据
在这里插入图片描述
*这个方式要在InfluxDB上启一个2003监听服务,不推荐这个方式
(这个方式我试了好几次,都没有成功InfluxDB就是收不到数据)


JMeter 3.2版本开始支持直接向InfluxDB的8086端口写数据(和Grafana方式一样)
在这里插入图片描述
*推荐这个方式,本教程演示的也是此方法

JMeter 5.0版本增加了一些支持的字段,建议使用JMeter 5.0以上版本搭配 InfluxDB + Grafana
在这里插入图片描述

1.3 这篇文章讲了什么?

本人将演示
a. InfluxDB 1.8 Windows 平台 下载与安装
b. Grafana 6.7.2 Windows 平台 下载与安装
c. JMeter 5.0 配置 连接InfluxDB的方法
d. Grafana 展示 InfluxDB 数据的方法,并使用第三方报表样式

2. 下载与安装

我这也有一个下好的安装包集合 可以直接下载
https://download.csdn.net/download/tomoya_chen/12347268

2.1 InfluxDB 安装

Mac & Linux 安装可以参考官方文档(通过命令行安装)
https://docs.influxdata.com/influxdb/v1.8/introduction/install/

Windows或以上系统想下载文件进行安装的话,访问下面这个链接
https://portal.influxdata.com/downloads/
在这里插入图片描述


根据你的系统选择,我这里演示的是Windows平台
在这里插入图片描述


下载完解压出来你会得到这样一个目录
在这里插入图片描述


命令行启动influxdb服务,这样你就启动了一个8086端口(默认)的一个服务。

> influxd
> influxd --config influxdb.conf

在这里插入图片描述


InfluxDB自带一个客户端程序,InfluxDB也支持web平台管理查看,这里不需要。

> influx

在这里插入图片描述


InfluxDB常用命令(这里暂不做操作,仅供学习)

# 查看数据库列表
show databases

# 查看表列表
show measurements

# 创建数据库
create database 数据库名

# 删除数据库
drop database 数据库名

# 删除表
drop measurements 表名

# 使用数据
use 数据库名

# sql语句和MySQL等关系型数据库很相似
select * from 表名 where 列名 =

在这里插入图片描述


至此,我们的InfluxDB已经安装好了

2.2 Grafana 安装

Mac & Linux 安装可以参考官方文档(通过命令行安装)
https://grafana.com/docs/grafana/latest/installation/

Windows或以上系统想下载文件进行安装的话,访问下面这个链接
https://grafana.com/grafana/download
在这里插入图片描述
*推荐安装版,比解压版省心,不用自己配服务


下载完之后直接双击安装,一直下一步就可以了...

在这里插入图片描述

安装完成后,可以正常访问http://127.0.0.1:3000表示安装成功
默认用户名密码 admin admin
在这里插入图片描述


3. 配置

3.1 InfluxDB 创建数据库

命令行启动influxdb服务,这样你就启动了一个8086端口(默认)的一个服务,这个cmd框不能关闭。

> influxd

在这里插入图片描述

命令行创建一个数据库,名为"jmeter",用来存放测试数据。

influx
create database jmeter
show databases

在这里插入图片描述

3.2 JMeter 写入InfluxDB

添加一个后端监听器(英文版: Backend Listener)
Backend Listener implementation 选择 InfluxdbBackendListenerClient
在这里插入图片描述
influxdbUrl中域名改成InfluxDB所在服务器地址,这里是本地。db需要与3.1中创建的数据库名一致。
application 与 testTitle根据实际填写
*summaryOnly的意思是,ture:所有HTTP采样器一起统计,false:每个HTTP采样器分开统计。
在这里插入图片描述

点击执行,之前启influxdb服务的cmd框一直有打印监听到的数据说明接受到了JMeter传来的信息
在这里插入图片描述

3.3 Grafana 配置数据源

首先需要配置一个数据源,自然也就是我们刚才安装的InfluxDB了。
在左侧齿轮选择Data Sources(或者直接点首页步骤链路里的"Add data source")
在这里插入图片描述

选择新增一个数据源,然后搜索"InfluxDB"
在这里插入图片描述
最少只需要更改2处,URL改成InfluxDB所在服务器地址,这里是本地。
http://127.0.0.1:8086
在这里插入图片描述
数据库名这里填jmeter
*此前3.1里创建的数据库
在这里插入图片描述

3.4 Grafana 使用第三方报表样式

Grafana的dashboards下载地址:
https://grafana.com/grafana/dashboards?search=jmeter&orderBy=name&direction=asc


推荐第一个,用的人多,点一下进入详情页
在这里插入图片描述
复制一下这里的id数字
在这里插入图片描述
回到Grafana页面,左侧导航选择+号的import菜单
在这里插入图片描述
把刚才报表id粘贴在这里,就可以使用这个报表样式了
在这里插入图片描述
导入前,需要填一些信息,这里DB name就是刚才配置的数据源,Measurement name是表名的意思
在这里插入图片描述

如果之前步骤都正确的话,此时报表已经可以看到数据了。是不是很酷炫。
*如果JMeter是5.0版本以下,是没有Received Btyes和 Send Bytes
在这里插入图片描述

4. Grafana 定制自己的dashboard(未完)

添加一个新的dashboard
在这里插入图片描述
在dashboard上添加panel,panel可以理解为面板。
在这里插入图片描述

未完。。有时间再码。

5. 尾声(未完)

猜你喜欢

转载自blog.csdn.net/tomoya_chen/article/details/105642779