Docker+Jmeter+InfluxDB+Grafana搭建性能测试监控平台
搭建需求?
jmeter自身的聚合测试报告可视化效果极差,为更加形象的、动态的展示测试过程,需要一个具有时序性的可视区来展示给我们的测试者,
这时候就需要用到后端监控,下面我们来开始搭建符合这种测试需求的测试平台
此次测试平台基于阿里云进行搭建,具体的环境读者可自行选择,例如centos或者readhat

Docker环境搭建:
本章重点讲解性能平台建设,docker搭建及常用操作命令请参考docker讲解章节
jmeter环境搭建:
详细内容请参看jmeter环境
influxDB环境搭建:
1.下载安装镜像(默认是拉取最新版本):
docker pull influxdb

2.启动influxdb容器
docker run -d --name jmeter-influx -p 8083:8083 -p 8086:8086 influxdb

3.进入influxdb容器内部
docker exec -it 4fc20c7f4bba /bin/bash

4.进入influxdb , 创建数据库jmeter



至此influxdb的环境搭建已结束,下面讲解jmeter
Jmeter后端监控配置:
1.创建测试项目
点击”添加->监听器->后端监听器”

2.添加结果如下

此时jmeter要加载influxdb的数据需要做以下配置
3.修改后端监听器配置
3.1Backend Listener implementation配置选择
Org.apache.jmeter.visualizers.Backend.influxdb.influxdbBackendListenerClient

3.2.修改Parameters

4.参数讲解:
influxdbUrl:需要改为自己influxdb的部署ip和映射端口,我这里部署到阿里云上,读者可根据自己环境修改
application:可根据需要自由定义,只是注意后面在grafana中选对即可
measurement:表名,默认是jmeter,也可以自定义
summaryOnly:选择true的话就只有总体的数据,false会将每个transaction都分别记录
5.数据验证
运行Jmeter脚本,然后再次在influxdb中查看数据,发现类似下面的数据说明输入导入成功

至此jmeter后端监控配置已搭建结束,下面讲解grafana部署
grafana环境部署:
1.下载安装grafana镜像(默认是拉取最新版本):
docker pull grafana/grafana
2.启动grafana容器(将3000端口映射到本机的8000端口上,读者可自己定义):
docker run --name grafana -d -p 8000:3000 grafana/grafana
3.访问grafana
http://xxx.xxx.xxx.xxx:8000/login

默认的用户名和登录密码为admin,admin
4.选择添加数据源

5.选择数据源为influxDB

6.配置选项

7.测试数据源是否添加正确

8.下载模板
模板下载路径:https://grafana.com/grafana/dashboards?dataSource=influxdb&search=jmeter


9.导入json模板


10.展示设置

11.成果展示
对测试对象开启20个线程,展示动态的测试结果






Docker+Jmeter+InfluxDB+Grafana搭建性能测试监控平台的更多相关文章
- Telegraf+InfluxDB+Grafana搭建服务器监控平台
Telegraf+InfluxDB+Grafana搭建服务器监控平台 tags:网站 个人网站:https://wanghualong.cn/ 效果展示 本站服务器状态监控:https://statu ...
- collectd+influxDB+Grafana搭建性能监控平台
网上查看了很多关于环境搭建的文章,都比较久远了很多安装包源都不可用了,今天收集了很多资料组合尝试使用新版本来搭建,故在此记录. 采集数据(collectd)-> 存储数据(influxdb) - ...
- Docker+JMeter+InfluxDB+Grafana从容器内部发起压测
1.自由定制JMeter镜像: Dockerfile文件: FROM java:8# 基础镜像 MAINTAINER yangjianliang <526861348@qq.com># 作 ...
- 性能测试监控平台:InfluxDB+Grafana+Jmeter
前面的博客介绍了InfluxDB.Telegraf.Grafana的安装和使用方法,这篇博客,介绍下如何利用这些开源工具搭建性能测试监控平台... 前言 性能测试工具jmeter自带的监视器对性能测试 ...
- Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(三)
在之前系列博文中,已经介绍完了数据采集和数据存储,那数据如何展示呢?所以今天就专门来讲下数据如何展示的问题. 以前博文参考: Docker系列--InfluxDB+Grafana+Jmeter性能监控 ...
- 搭建jmeter+influxdb+grafana压测实时监控平台(超详细,小白适用)
1.前言 在使用jmeter做性能测试的时候,监控系统性能的时候,无论是使用插件还是报告生成,都没法实现实时监控.使用JMeter+Influxdb+Grafana可以实现实时监控. 本次环境搭建各软 ...
- jmeter+influxdb+grafana性能测试监控
背景: 话说Jmeter原生的监控确实太丑了,听大佬们在讨论Jmeter+InfluxDb+Grafana的监控,于是,为了有一个漂亮的测试报告,就手动开始进行部署. 安装步骤: 1.influxdb ...
- 性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控【转】
概述 本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造压测可视化实时监控. 引言 我们很多时候在使用JMeter做性能测试,我们很难及时察看压测过程中应用的性能状况,总是需要等 ...
- influxDB1.6版安装与配置(windows环境)、Jmeter+influxDB+Grafana性能监控
influxDB1.6版安装与配置(windows环境).Jmeter+influxDB+Grafana性能监控 来源:https://blog.csdn.net/SwTesting/article/ ...
随机推荐
- touch事件中的touches、targetTouches和changedTouches
touches: 当前屏幕上所有触摸点的列表; targetTouches: 当前对象上所有触摸点的列表; changedTouches: 涉及当前(引发)事件的触摸点的列表; 通过一个例子来区分一下 ...
- javascript的垃圾回收机制与内存管理
一.垃圾回收机制—GC Javascript具有自动垃圾回收机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存. 原理:垃圾收集器会定期(周期性 ...
- JDBC链接数据库。
第一步,创建一个空包: 给包起个名字: 新建Modules: 给Modules起名: 创建libs文件: 点击file---->new---->project---->Directo ...
- angular 项目中遇到rxjs error TS1005:';'
因为rxjs的版本问题,只需要在package.json 中将依赖的 rxjs:'^6.00' 改为 rxjs'6.00', 然后执行 npm update 更新下rxjs的依赖版本即可解决
- Asp.Net Core AuthorizeAttribute 和AuthorizeFilter 跟进及源码解读
一.前言 IdentityServer4已经分享了一些应用实战的文章,从架构到授权中心的落地应用,也伴随着对IdentityServer4掌握了一些使用规则,但是很多原理性东西还是一知半解,故我这里持 ...
- xmake v2.3.2 发布, 带来和ninja一样快的构建速度
这个版本重点重构优化了下内部并行构建机制,实现多个target间源文件的并行编译,以及并行link的支持,同时优化了xmake的一些内部损耗,修复影响编译速度的一些bug. 通过测试对比,目前的整体构 ...
- 将Mongodb的表导入到Hive中
1.官方文档:https://docs.mongodb.com/ecosystem/tools/hadoop/ 2.Hive介绍: Hive特点: 1.hive是一个数据仓库,和oracle,mysq ...
- Linux系统c语言开发环境
项目 内容 这个作业属于哪个课程 班级地址 这个作业要求在哪里 作业要求地址 学号-姓名 17041506-张政 学习目标 Linux系统下C语言开发环境搭建,学习Linux系统环境C语言开发过程 L ...
- 数据源管理 | 主从库动态路由,AOP模式读写分离
本文源码:GitHub·点这里 || GitEE·点这里 一.多数据源应用 1.基础描述 在相对复杂的应用服务中,配置多个数据源是常见现象,例如常见的:配置主从数据库用来写数据,再配置一个从库读数据, ...
- JavaScript 趣味题。
第一题: const Greeters = [] for (var i = 0 ; i < 10 ; i++) { Greeters.push(function () { return cons ...