当前位置: 首页 > ds >正文

【性能测试】Jmeter+Grafana+InfluxDB+Prometheus Windows安装部署教程

一、工具作用与整体架构

1.1 各工具核心作用

工具作用描述关键特性
Jmeter性能测试工具,模拟多用户并发请求,生成测试数据支持HTTP/HTTPS、数据库等多种协议,可自定义测试场景
InfluxDB时序数据库,专门存储时间序列数据(如Jmeter测试结果)高写入性能,支持Flux查询语言,适合存储海量测试指标
Prometheus时序数据库,专注于系统监控指标收集(如CPU、内存、网络)支持数据拉取(Pull)模式,内置PromQL查询,适合监控服务器/应用指标
Grafana数据可视化平台,将InfluxDB和Prometheus数据以仪表盘形式展示支持多数据源整合,丰富的图表类型,可自定义告警规则

1.2 整体架构关系

四者通过以下流程协同工作:

  1. Jmeter 模拟用户请求,生成性能测试数据(如响应时间、吞吐量);
  2. InfluxDB 存储Jmeter测试结果,通过Backend Listener实时写入;
  3. Prometheus 收集Windows服务器指标(如CPU使用率、内存占用),需配合Windows Exporter;
  4. Grafana 从InfluxDB和Prometheus拉取数据,通过仪表盘可视化展示,实现性能测试与系统监控一体化。

二、安装前准备

2.1 环境要求

  • 操作系统:Windows 10/11 64位
  • Java环境:JDK 11+(Jmeter依赖),需配置JAVA_HOME环境变量
  • 权限:管理员权限(用于安装服务、开放端口)
  • 硬件:建议4核CPU、8GB内存、50GB磁盘空间

2.2 工具版本与下载链接

工具推荐版本下载链接
Jmeter5.6.3Apache Jmeter官网
InfluxDB2.7.10InfluxDB官网
Prometheus2.53.3Prometheus官网
Grafana11.4.0Grafana官网
Windows Exporter0.24.0GitHub Releases
NSSM2.24NSSM官网

三、详细安装步骤

3.1 Jmeter安装与配置

3.1.1 安装Java环境
  1. 下载JDK 11+(如Adoptium Temurin),安装时勾选“Add to PATH”;
  2. 验证Java安装:打开命令提示符,输入java -version,显示版本信息则成功。
3.1.2 安装Jmeter
  1. 下载Jmeter二进制zip包(如apache-jmeter-5.6.3.zip);
  2. 解压至C:\jmeter,进入C:\jmeter\bin,双击jmeter.bat启动;
  3. 验证启动:打开界面后,右键“Test Plan”→“Add”→“Threads (Users)”→“Thread Group”,若能正常添加则安装成功。
3.1.3 安装InfluxDB插件
  1. 下载jmeter-influxdb2-listener-plugin(如jmeter-plugins-influxdb2-listener-2.8.jar);
  2. 将jar包复制到C:\jmeter\lib\ext目录,重启Jmeter。

3.2 InfluxDB安装与配置

3.2.1 安装InfluxDB
  1. 下载InfluxDB Windows安装包(如influxdb2-2.7.10-windows-amd64.msi);
  2. 双击安装,按向导完成,默认安装路径C:\Program Files\InfluxData\InfluxDB
  3. 启动服务:打开PowerShell(管理员),输入net start influxdb
3.2.2 初始化配置
  1. 访问http://localhost:8086,首次登录创建管理员账号(如admin/admin123);
  2. 创建Organization(如jmeter-org)、Bucket(如jmeter,保留默认7天数据保留期);
  3. 生成Token:进入“Data”→“Tokens”→“Generate Token”→“Read/Write”,保存Token(如my-token-xxxx)。

3.3 Prometheus安装与配置

3.3.1 安装Prometheus
  1. 下载Prometheus Windows zip包(如prometheus-2.53.3.windows-amd64.zip);
  2. 解压至C:\Prometheus,修改prometheus.yml配置文件:
    global:scrape_interval: 15s  # 全局抓取间隔
    scrape_configs:- job_name: 'prometheus'  # 监控自身static_configs:- targets: ['localhost:9090']- job_name: 'windows'  # 监控Windows服务器static_configs:- targets: ['localhost:9182']  # Windows Exporter端口
3.3.2 注册为Windows服务(使用NSSM)
  1. 下载NSSM,解压至C:\nssm,将nssm.exe复制到C:\Windows\System32
  2. 打开命令提示符(管理员),输入nssm install Prometheus,在弹出窗口配置:
    • PathC:\Prometheus\prometheus.exe
    • Arguments--config.file=C:\Prometheus\prometheus.yml
  3. 启动服务:nssm start Prometheus,验证:访问http://localhost:9090,显示Prometheus界面。

3.4 Windows Exporter安装(Prometheus监控依赖)

  1. 下载Windows Exporter MSI包(如windows_exporter-0.24.0-amd64.msi);
  2. 双击安装,默认端口9182,服务自动启动;
  3. 验证:访问http://localhost:9182/metrics,显示系统指标数据。

3.5 Grafana安装与配置

3.5.1 安装Grafana
  1. 下载Grafana Windows zip包(如grafana-11.4.0.windows-amd64.zip);
  2. 解压至C:\Grafana,进入C:\Grafana\bin,双击grafana-server.exe启动;
  3. 验证:访问http://localhost:3000,默认账号admin/admin,首次登录需修改密码。
3.5.2 添加数据源
  1. 添加InfluxDB数据源

    • 左侧菜单“Connections”→“Add new connection”→搜索“InfluxDB”;
    • URLhttp://localhost:8086Token:输入InfluxDB生成的Token;
    • Organizationjmeter-orgBucketjmeter,保存并测试连接。
  2. 添加Prometheus数据源

    • 左侧菜单“Connections”→“Add new connection”→搜索“Prometheus”;
    • URLhttp://localhost:9090,保存并测试连接。
3.5.3 导入仪表盘
  1. 导入Jmeter测试结果仪表盘:左侧“+”→“Import”→输入ID 17440(JMeter Report InfluxDB2.0);
  2. 导入Windows系统监控仪表盘:输入ID 10467(Windows Exporter Dashboard);
  3. 选择对应数据源(InfluxDB/Prometheus),完成导入。

四、工具集成与验证

4.1 Jmeter与InfluxDB集成

  1. 打开Jmeter,创建测试计划,添加“Thread Group”(10用户,Ramp-Up 10秒);
  2. 添加“HTTP Request”(测试目标URL,如https://www.example.com);
  3. 添加“Backend Listener”:
    • Backend Listener Implementationio.github.mderevyanko.aqa.visualizer.InfluxDatabaseBackendListenerClient
    • Parameters
      • influxDBUrlhttp://localhost:8086
      • influxDBTokenmy-token-xxxx
      • influxDBOrganizationjmeter-org
      • influxDBBucketjmeter
      • testNamemy-test

4.2 完整流程验证

  1. 启动服务:确保InfluxDB、Prometheus、Grafana服务运行;
  2. 运行Jmeter测试:点击Jmeter启动按钮,执行测试计划;
  3. 验证数据写入
    • InfluxDB:访问http://localhost:8086→“Explore”→查询from(bucket: "jmeter") |> range(start: -1m),查看是否有数据;
    • Grafana:打开导入的Jmeter仪表盘,观察实时测试指标(响应时间、吞吐量);
  4. 验证系统监控:查看Windows仪表盘,确认CPU、内存等指标正常显示。

五、常见问题解决

5.1 端口冲突

  • 症状:服务启动失败,提示“端口被占用”;
  • 解决:修改配置文件更换端口(如Grafana默认3000→8080,在C:\Grafana\conf\custom.ini中设置http_port=8080)。

5.2 防火墙阻止连接

  • 症状:Grafana无法访问InfluxDB/Prometheus;
  • 解决:开放端口(以8086为例):
    • 控制面板→“Windows Defender防火墙”→“高级设置”→“入站规则”→“新建规则”→“端口”→输入8086→“允许连接”。

5.3 Jmeter数据未写入InfluxDB

  • 检查项
    1. InfluxDB Token权限是否为“Read/Write”;
    2. Jmeter插件是否放置在lib/ext目录;
    3. Backend Listener参数是否正确(尤其Organization和Bucket名称)。

六、部署主要用途

  1. 性能测试全链路监控
    实时跟踪Jmeter测试过程中的响应时间、错误率、吞吐量,结合系统资源(CPU、内存)变化,定位性能瓶颈。

  2. 系统稳定性监控
    通过Prometheus+Windows Exporter长期监控服务器指标,Grafana设置告警(如CPU使用率>80%),及时发现异常。

  3. 测试报告可视化
    替代Jmeter原生报告,Grafana仪表盘支持自定义图表(如响应时间分布、请求趋势),便于团队协作与报告分享。

  4. 多场景对比分析
    存储历史测试数据(InfluxDB),对比不同版本/环境下的性能差异,优化系统设计。

七、工具版本与端口汇总表

工具版本默认端口配置文件路径
Jmeter5.6.3-C:\jmeter\bin\jmeter.properties
InfluxDB2.7.108086C:\Program Files\InfluxData\InfluxDB\influx-configs
Prometheus2.53.39090C:\Prometheus\prometheus.yml
Grafana11.4.03000C:\Grafana\conf\custom.ini
Windows Exporter0.24.09182-

通过以上步骤,即可在Windows环境下完成Jmeter+Grafana+InfluxDB+Prometheus的部署与集成,实现性能测试与系统监控的一体化可视化平台。

http://www.xdnf.cn/news/16305.html

相关文章:

  • 保障工业核心命脉:深度解读工业交换机QoS的“智能流量治理”之道
  • LeetCode 刷题【12. 整数转罗马数字】
  • Spring Bean生命周期七步曲:定义、实例化、初始化、使用、销毁
  • Android Studio历史版本快速下载(二次修改记录)
  • 面试150 搜索二维矩阵
  • Android集成Google Map
  • 黑马头条项目详解
  • springboot项目如何写出优雅的service?
  • AI时代,我的编程工作搭子
  • TreeMap一致性哈希环设计与实现 —— 高可用的数据分布引擎
  • The Missing Semester of Your CS Education 学习笔记以及一些拓展知识(六)
  • 解决http的web服务中与https服务交互的问题
  • RuoYi-Vue 项目 Docker 全流程部署实战教程
  • PS一键图片智能添加噪点脚本 GrainLab for Photoshop安装与使用介绍
  • 5种最佳方法将iPhone语音备忘录传输到Mac
  • esp32 挂载mpu6050实现加速度计
  • Apache POI 实战应用:企业级文档处理解决方案
  • 编写程序,打印图案,要求该图案的行数由用户输入
  • Hadoop磁盘I/O瓶颈的监控与优化:从iostat指标到JBOD vs RAID的深度解析
  • 海思平台移植 CAN 通信全攻略:从硬件到应用
  • 独家|百度副总裁尚国斌即将离职,此前统筹百度地图;行业搜索及智能体业务总经理谢天转岗IDG
  • 最新免费使用Claude Code指南(Windows macOS/Linux)
  • 【Spring Cloud Gateway 实战系列】终极篇:演进方向与未来架构
  • Visual Studio 2010-.Net Framework 4.0-DevExpress安装
  • ADS数据流实现隐藏文件
  • 【AJAX】XMLHttpRequest、Promise 与 axios的关系
  • 动手学深度学习2.0-李沐Pytorch版
  • Windows 10 停服:个人与企业的 “系统选择题”
  • 小程序生命周期及页面操作执行过程详解
  • Lua(数组)