借助Docker搭建JMeter+Grafana+Influxdb监控平台
我们都知道Jmeter提供了原生的结果查看,既然有原生的查看结果,为什么还要多此一举使用其他工具进行查看呢,除了查看内容丰富外还有最主要的原因:
Jmeter提供的查看结果插件本身是比较消耗性能的,所以在正式压测中应当禁用。但是我们又需要在脚本运行时实时查看结果,这时就需要借助外在工具实现。
除此之外,在真实压测过程中还需要注意Jmeter图形化模式只适合调试使用,不要进行压测。图形化的压测方式会消耗较多的客户端性能,在压测过程中容易因为客户端问题导致内存溢出。官方也给出了提示通过命令行执行。执行命令:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
- -n 表示在非 GUI 模式下运行 JMeter;
- -t 表示要运行的 JMeter 测试脚本文件,一般是 jmx 结尾的文件;
- -l 表示记录结果的文件,默认以 jtl 结尾;
- -e 表示测试完成后生成测试报表;
- -o 表示指定的生成结果文件夹位置。
实现原理
接下来详解借助 docker 使用 InfluxDB 和 Grafana 搭建性能可视化监控平台。
InfluxDB概念:InfluxDB是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。
InfluxDB概念特点:
- 无结构(无模式):可以是任意数量的列;
- 可以设置metric的保存时间;
- 支持与时间有关的相关函数(如min、max、sum、count、mean、median等),方便统计;
- 支持存储策略:可以用于数据的删改。(influxDB没有提供数据的删除与修改方法);
- 支持连续查询:是数据库中自动定时启动的一组语句,和存储策略搭配可以降低InfluxDB的系统占用量;
- 原生的HTTP支持,内置HTTP API;
- 支持类似sql语法;
- 支持设置数据在集群中的副本数;
- 支持定期采样数据,写入另外的measurement,方便分粒度存储数据。
Grafana概念:一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。简单点说就是一套开源WEB可视化平台。
JMeter引入Backend Listener将在压测过程中实时发送统计指标数据发送到Influxdb数据库,Grafana(开源的WEB可视化看板)数据源连接到Influxdb,创建可视化看板,并实时获取到测试指标数据。

安装InfluxDB
docker 下进行安装
拉取influxdb镜像:docker pull influxdb
运行influxdb容器:docker run --name my_influxdb -p 8086:8086 influxdb
进入容器:docker exec -it 容器id /bin/bash
创建数据库 jmeter
influx
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
exit;
安装Grafana
拉取grafana镜像:docker pull grafana/grafana
运行容器:docker run --name my_grafana -p 3000:3000 grafana/grafana
访问grafana:http://ip:3000
用户名与密码都是"admin"


进入后添加数据库


进入后对数据库进行配置

保存并且测试

配置展示模板
模板比较丰富,可以预览进行查看,选择合适的进行下载
下载地址:https://grafana.com/grafana/dashboards

下载json文件

准备导入

将下载下来的json文件导入之后即可。

设置完成后进入面板

在此可设置刷新频率

配置Jmeter
创建Jmeter脚本。

设置后端监听器

运行脚本后可查看结果

借助Docker搭建JMeter+Grafana+Influxdb监控平台的更多相关文章
- 搭建Jmeter + Grafana + InfluxDB性能测试监控环境
背景 Jmeter原生的实时监控每半分钟收集一次数据,只能在Linux控制台查看日志输出,界面看起来不直观,图表报告只能等压测结束后才能生成.如下图为jmeter在Linux下运行的实时日志: 那么如 ...
- 基于Docker 部署Jmeter + Grafana + InfluxDB 性能测试监控配置(亲测可用)
工具介绍: InfluxDB:是一款用Go语言编写的开源分布式时序.事件和指标数据库,无需外部依赖.该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, lo ...
- [转]Jmeter + Grafana + InfluxDB 性能测试监控
https://www.cnblogs.com/yyhh/p/5990228.html Jmeter + Grafana + InfluxDB 性能测试监控 效果不错
- [转帖]基于docker 搭建Prometheus+Grafana
基于docker 搭建Prometheus+Grafana https://www.cnblogs.com/xiao987334176/p/9930517.html need good study 一 ...
- 基于Prometheus和Grafana的监控平台 - 运维告警
通过前面几篇文章我们搭建好了监控环境并且监控了服务器.数据库.应用,运维人员可以实时了解当前被监控对象的运行情况,但是他们不可能时时坐在电脑边上盯着DashBoard,这就需要一个告警功能,当服务器或 ...
- JMeter+Grafana+Influxdb搭建可视化性能测试监控平台(使用了docker)
[运行自定义镜像搭建监控平台] 继上一篇的帖子 ,上一篇已经展示了如何自定义docker镜像,大家操作就行 或者 用我已经自定义好了的镜像,直接pull就行 下面我简单介绍pull下来后如何使用 拉取 ...
- 基于Centos7.4搭建prometheus+grafana+altertManger监控Spring Boot微服务(docker版)
目的:给我们项目的微服务应用都加上监控告警.在这之前你需要将 Spring Boot Actuator引入 本章主要介绍 如何集成监控告警系统Prometheus 和图形化界面Grafana 如何自定 ...
- influxdb + Grafana可视化监控平台
在centos6.5上influxdb + Grafana监控平台配置: 1.RedHat and CentOS users can install the latest stable version ...
- Jmeter + Grafana + InfluxDB 性能测试监控
阅读目录 1. 安装InfluxDB 2. 安装Grafana 3. 配置Jmeter 序章 前几天在群里看到大神们在讨论Jmeter + InfluxDB + Grafana监控.说起来Jmeter ...
随机推荐
- 学习笔记:插头DP
基于连通性的状压DP问题. 一般是给你一个网格,有一些连通性的限制. 例题 插头DP模板 链接 题意:网格图,去掉一些点,求哈密顿回路方案数. 一般按格递推(从上到下,从左到右). 每个格子要从四个方 ...
- Codeforces Edu Round 60 A-E
A. Best Subsegment 显然,选择数列中的最大值当做区间(长度为\(1\)).只要尝试最大值这个区间是否能扩展(左右两边值是否跟它一样就行了) #include <cstdio&g ...
- Java设计模式(一)——单例模式
简介 定义: 确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例. 单例类拥有一个私有构造函数,确保用户无法通过 new 来直接实例化它.类中包含一个静态私有成员变量与静态公有的工厂方法, ...
- 剑指Java高效编程教程
教程介绍 所谓"武以快为尊,天下武功唯快不破".本课程剑指Java高效编程,致力于从"技术"和"工具"两大 维度提高编程效率,帮助广大程序员 ...
- HTTP/2做错了什么?刚刚辉煌2年就要被弃用了!?
GitHub 19k Star 的Java工程师成神之路,不来了解一下吗! GitHub 19k Star 的Java工程师成神之路,真的不来了解一下吗! GitHub 19k Star 的Java工 ...
- Sense Sense (Beta)安装及解决部分Chrome插件安装时程序包无效:"CRX_HEADER_INVALID"
下载地址 http://down.cnplugins.com/down/down.aspx?fn=1412/www.cnplugins.com_lhjgkmllcaadmopgmanpapmpjgm ...
- JavaSE14-集合·其一
1.Collection集合 1.1 集合体系结构 集合 (接口)Collection:单列 (接口)List:可重复 (实现类)ArrayList (实现类)LinkedList (接口)Set:不 ...
- Greenplum 性能优化之路 --(一)分区表
一.什么是分区表 分区表就是将一个大表在物理上分割成若干小表,并且整个过程对用户是透明的,也就是用户的所有操作仍然是作用在大表上,不需要关心数据实际上落在哪张小表里面.Greenplum 中分区表的原 ...
- windows10 64位下安装oracle 11g和PL/SQL Developer
一.材料准备: oracle11g安装包(64位) oracle11g客户端(32位) PL\SQL Developer安装包(32位) 1.下载Oracle 11g链接:http://www.ora ...
- .Net 常用ORM框架对比:EF Core、FreeSql、SqlSuger
前言: 最近由于工作需要,需要选用一种ORM框架,也因此对EF Core.FreeSql.SqlSuger作简单对比.个人认为各有有优势,存在即合理,不然早就被淘汰了是吧,所以如何选择因人而议.因项目 ...