怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台
创始人
2024-12-28 17:41:35
0次

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,创建可视化看板,并实时获取到测试指标数据。

怎么在Docker中搭建一个JMeter+Grafana+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"

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

进入后添加数据库

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

进入后对数据库进行配置

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

保存并且测试

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

配置展示模板

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

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

下载json文件

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

准备导入

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

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

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

设置完成后进入面板

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

在此可设置刷新频率

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

配置Jmeter

创建Jmeter脚本。

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

设置后端监听器

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

运行脚本后可查看结果

怎么在Docker中搭建一个JMeter+Grafana+Influxdb监控平台

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...