前言:

大家在使用jmeter进行压测或者说性能测试时,只能根据jmeter中的聚合报告来查看测试结果。

但是聚合报告存在两个问题:

1、只能自己看,无法实时共享;

2、报告信息的展示比较简陋单一,不直观;

为了解决上述问题,本文将docker+ InfluxDB+Grafana搭建性能监控平台;

InfluxDB:持续型数据库,有时间戳组件,以时间的形式去存储数据

Grafana:一款采用 Go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具

在上一篇博客中我们已经将docker安装好了:https://blog.csdn.net/u013521274/article/details/115868989

本文来完成后续的搭建

1、工具简介

名称

简介

docker

开源的应用容器引擎,实现虚拟化。

Jmeter

基于Java的压力测试工具

influxdb

开源时序型数据库,常用的一种使用场景:监控数据统计

grafana

跨平台的开源的度量分析和可视化工具

现在开始docker+influx+grafana可是化平台的搭建。框架图如下所示

2、性能监控平台搭建

2.1  influxdb安装

搜索influx:docker search influx

拉取influxdb镜像:docker pull tutum/influxdb

启动一个容器,并将端口8083和8086映射出来,如果用的是tutum/influxdb镜像,在访问8083端口时就可以看到网页端的展示,我这里用的是最新的,所以就没有啦:

启动容器:

docker run -d --name jmeter-influx -p 8083:8083 -p 8086:8086 tutum/influxdb

进入容器内部,创建名为jmeter的数据库:

进入jmeter-influx容器

docker exec -it jmeter-influx bash

进入influx数据内部

influx

创建名为jmeter的数据库

create database jmeter

命令查看数据库创建成功

show databases

使用 Jmeter 库,

user jmeter

查看数据,这个时候应该是没有数据的:

select * from jemter

执行:docker ps

influx已经在运行了

可以访问http://ip:8083参看influx的前端

2.2 grafana 安装

首先我们需要下载grafana的镜像:

$ docker pull grafana/grafana

2)启动一个grafana容器,将3000端口映射出来:

$ docker run -d --name grafana -p 3000:3000 grafana/grafana

$ docker ps

grafana已经在运行

3)网页端访问http://ip:3000(根据自己的)验证部署成功。初次登录时的账号密码是admin/admin;

首次进入会要求你改密码,安装操作来即可,到达首页;

2.2.2 配置数据源,influx链接grafana

 

测试是否链接成功,出现绿色提示代表成功。

2.3 grafana导入专属于jmeter的可视化模板

模板导入分别有以下3种方式:

1、直接输入模板id号

2、直接上传模板json文件

3、直接输入模板json内容

下载模板,在grafana的官网

https://grafana.com/grafana/dashboards?dataSource=influxdb&search=jmeter

下载完json文件,导入进去

点击import后,grafana会出现模板的可视化界面,此时是没有数据的,因为influx还没有接入jmeter数据,所以可视化没有图标显示

 3、jmeter配置Backend Listener

Backend Listener的作用就是将实时产生的数据推送到influx,然后再由grafana显示出来

 

implementation:选择influxdb所对应的:

influxdbUrl:需要改为自己influxdb的部署ip和映射端口,端口是容器启动时映射的8086端口,db后面跟的是刚才创建的数据库名称
application:可根据需要自由定义,只是注意后面在grafana中选对即可
measurement:表名,默认是jmeter,也可以自定义
summaryOnly:选择true的话就只有总体的数据,false会将每个transaction都分别记录

4、开启jmeter运行,查看grafana的显示效果,下图是运行了约30分钟的结果

是不是很酷炫

grafana面板上可以设置数据更新时间,1s更新一次,5秒更新一次等等。

有问题留言,看到必回复哦

本文参考:https://www.cnblogs.com/yagao/p/12730405.html

                https://blog.csdn.net/you297043284/article/details/105015352

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐