Jmeter+Influxdb+grafana性能接口测试监控平台
一、Jmeter接口压测工具、InfluxDB时序数据库、Grafana展示面板的作用
1、在整个工程中各个部分作用:
Jmeter的作用:Jmeter负责生成数据源;
InfluxDB的作用:负责存储数据;
Grafana的作用:负责把存储的数据以动态的形式展示出来;
2、整个部分的大概流程,及形成过程:
首先,Jmeter将获取到的数据传递给InfluxDB时序数据库,然后,数据库将数据展示在Grafana展板上,最后,并以动态的形式显示出来;
二、首先安装Jmeter数据源工具
1、Jmeter是一个免费使用的工具:
安装后进行解压到对应的文件夹,在进行配置环境变量即可,在安装之前要考虑的一个问题,Jmeter5版本以上的需要安装==JDK版本8+==的;
1>下载Jmeter:通过链接下载
https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/
或者:
通过链接领取:
https://pan.baidu.com/s/1PTIBDuDkuD61_4frGc0GwQ?pwd=3kke
提取码:3kke
安装流程:安装Jmeter之前先安装JDK,并JDK的bin目录配置系统变量PATH(鼠标放在此电脑图标上,右键–>点击属性–>进入系统信息—>点击高级系统设置–>点击环境变量–>系统变量中找到Path–>双击–>点击新建–>粘贴到里面–点击保存–退出)中:
2>解压Jmeter:
下载解压缩的位置可以自己选个位置,最好放在D:盘下面,解压的文件不要放的太深,目录的路径不要有中文,防止环境的容错率;
在这里放的是D:\apache-jmeter-5.6.2;
3>配置Jmeter环境:
将D:\apache-jmeter-5.6.2\bin添加到系统环境PATH(鼠标放在此电脑图标上,右键–>点击属性–>进入系统信息—>点击高级系统设置–>点击环境变量–>系统变量中找到Path–>双击–>点击新建–>粘贴到里面–点击保存–退出)变量中:
配置Java家目录:
JAVA_HOME : 中间变量名,值配置家目录(根目录)(鼠标放在此电脑图标上,右键–>点击属性–>进入系统信息—>点击高级系统设置–>点击环境变量–>点击新建**)**
%JAVA_HOME%\bin :
%JAVA_HOME%\jre\bin
4> 验证当前安装的状态:
有两种验证方式:
第一种:Win+r—>输入cmd—>按下回车—>输入Jmeter—>弹出来的是下面这个就说明安装成功配置好了环境变量:
第二种:找到刚才安装Jmeter的bin目录,双击下面图片中的位置(jmeter.bat),也能出现上面的图片,说明安装也是成功:
三、准备好一个Linux虚拟机或者也可以部署在(阿里云)服务器,这里用的是CentOS7版本:
1、下载InfluxDB时序数据库的安装包:(依次执行下面的命令:)(虚拟机和服务器的命令一致)
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.3.x86_64.rpm
(1) 安装InfluxDB数据库:
sudo yum localinstall influxdb-1.6.3.x86_64.rpm
这里已经安装过了“无须任何处理”
(2) 修改InfluxDB的配置:
vim /etc/influxdb/influxdb.conf
键盘输入i或a,进行编辑,需要修改两处(按照图中数据设置即可):
先按下Esc进行退出编辑模式,再按下:wq 保存并退出;
(3) 启动、设置开机自启动、查看InfluxDB数据库状态:
启动:systemctl start influxdb.service
开机自启动:systemctl enable influxdb.service
查看InfluxDB状态:systemctl status influxdb.service
如果出现下面这种情况,就需要重启虚拟机(服务器),再启动服务:(注:图片颜色可能不一致,主要看错误内容)
(4) 创建名为jmeter的数据库:(要与修改InfluxDB的配置的:第二张图里的database 里填的数据库名保持一致)
常见的influxdb数据库的操作命令:
-
influx
-
show databases;
-
create database jmeter;
-
drop database jmeter;
-
use jmeter;
-
select * from jmeter;
在这里,我们主要使用的是:
进入数据库:influx
查看当前的数据库:show databases;
创建数据库:create database jmeter;
查看当前的数据库:show databases;
注意上述修改InfluxDB的配置中出现的二个端口的作用:
8086端口:Grafana用来从数据库****取数据****的端口
2003端口:刚刚设置的,Jmeter往数据库发数据的端口
至此,InfluxDB数据库就安装并配置成功了!!
2、来到Grafana安装:
(1) 下载Grafana的安装包:
注意:下载时间可能稍微有点长,大约需要26分钟左右,主要还是看下载的带宽怎么样:
wget https://dl.grafana.com/oss/release/grafana-6.5.2-1.x86_64.rpm
(2) 安装Grafana面板:
yum localinstall grafana-6.5.2-1.x86_64.rpm
(3) 启动、设置开机自启动、查看Grafana面板服务状态:
启动:systemctl start grafana-server.service
开机自启动:systemctl enable grafana-server.service
查看InfluxDB状态:systemctl status grafana-server.service
(4) 访问Grafana页面:
在chrome浏览器访问地址:http://xxx.xx.xx.xx:3000,ip为虚拟机的ip地址(需要开启防 火墙端口3000)或者阿里云服务器的公网地址(端口需要在安全组内开通),用户名和密码默认都 是admin,点击Login即可,登录后记得改密码;
到此,Grafana安装就完成了;
虚拟机开启防火墙端口的命令:
firewall-cmd --zone=public --add-port=3000/tcp --permanent
四、监控jmeter压测数据:
1、下面我们就完整部署一次jmeter的压测:
1> 采集数据后存储在influsDB数据库,使用,Granfana看板展示压测数据的报表。
2> 点击下图的第二个方块(数据库状的样子):
3>打开后就是下面这个页面,然后双击下图中的标识
4> 配置参数如下:(注:这里的InfluxDB和Grafana在一个虚拟机里或在一个服务器里):
到此,数据源的配置工作就完成了;
3、下载官网的看板模板:
1> grafana官方提供了看板模板库,非常精致,我们可以直接下载使用。
2>官方模板库: https://grafana.com/dashboards
点击进入,下载模板对应的json文件到本地(建议)或者直接复制该模板的id:
4、给Grafana导入模板:
回到我们自己部署的Grafana网站,导入上文下载的模板:
先将鼠标悬浮在下图中加号标识上,再向右拖动鼠标放在2的位置上并点击一下,就来到了下面第二张图
点击上图中圈起来的标识,然后找到刚才下载的一个json文件,选中,然后点击打开,就来到了下面这个页面:
看板就可以从数据库读数据进行展示;
5、在这里准备Jmeter压测脚本
调试一组压测脚本,并设置脚本运行时间持续600s;
1> 设置后台监听器:
org.apache.jmeter.visualizers.backend.influxdb.lnfluxdbBackendListenerClient
注:后端监听器的添加:
先添加线程组:
新建一个plan–>点击右键–>悬浮(鼠标放在)添加上–悬浮在线程用户上–>点击线程组就可以了;
点击右键—>悬浮在添加上—>悬浮在监视器上—>点击后台监听器—>这样就添加好了;
首先来看看每个配置项的含义
influxdbUrl:安装influxdb的路径;格式为:http://主机地址:8086/write?db=数据库名,这个数据库名字在数据源配置设置的jmeter
application:应用名称;在 events 表中对应的字段是 application
measurement:表名;数据存储到哪个表,默认是jmeter,不用改即可
summaryOnly:false,当你线程组有多个请求又想知道每个请求的结果数据时,最好填false
samplersRegex:.*
percentiles:90;95;99,支持的百分比事务响应时间指标
6、现在将准备好的环境和数据进行Jmeter压测:
首先将准备好的数据进行运行:(点击查看结果树,再点击下图中的上面的方框里面的标识)
在Grafana首页中点击先前创建的:
这时候再,查看看板中监控到的Jmeter压测的数据:
最后,到这里Jmeter+Influxdb+grafana性能接口测试监控平台就算搭建好了;