【性能測試】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.pswp.cn/bicheng/90970.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90970.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90970.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Kubernetes】使用Deployment進行的資源調度,資源清理,伸縮與更新管控

Kubernetes Deployment 實戰:從資源清理到伸縮與更新管控 一、基礎準備:清理閑置 ReplicaSet 在使用 Deployment 時,每次更新都會生成新的 ReplicaSet(簡稱 RS),舊的 RS 會被保留但設置為 DESIRED0。這些閑…

stm32使用USB虛擬串口,因電腦缺少官方驅動而識別失敗(全系列32單片機可用)

驅動下載地址 官網地址:https://www.st.com/en/development-tools/stsw-stm32102.html

枚舉中間位置基礎篇

參考資料來源靈神在力扣所發的題單,僅供分享學習筆記和記錄,無商業用途。 核心思路: 一:直接直接用數據結構記錄需要的數據,在枚舉右,維護左的循環中,刪除當前位置的元素即可達成一樣效果 二…

企業選擇將服務器放在IDC機房托管的優勢

在服務器作為數據存儲和傳輸的核心設備的社會環境中,服務器的穩定性和安全性會直接影響到企業業務的連續性和用戶的滿意程度,隨著云計算技術和大數據的興起,企業對于服務器的需求也在日益增加,而如何高效、安全的管理服務器則是各…

自動化UI測試工具TestComplete的AI雙引擎:即時數據集 + 自愈測試

隨著敏捷開發和持續交付模式的普及,傳統的軟件測試方法正面臨著前所未有的挑戰。測試團隊在追求快速迭代的同時,往往陷入測試數據準備和測試維護的泥潭,嚴重制約了交付效率和質量保障能力。 TestComplete作為業界領先的自動化測試工具&#…

用KNN實現手寫數字識別:基于 OpenCV 和 scikit-learn 的實戰教學 (超級超級超級簡單)

用KNN實現手寫數字識別:基于 OpenCV 和 scikit-learn 的實戰教學在這篇文章中,我們將使用 KNN(K-Nearest Neighbors)算法對手寫數字進行分類識別。我們會用 OpenCV 讀取圖像并預處理數據,用 scikit-learn 構建并訓練模…

數據結構自學Day15 -- 非比較排序--計數排序

一、計數排序(Counting Sort)計數排序是一種非比較型的排序算法,它的核心思想是:利用“元素的值”來確定它在結果數組中的位置,通過“統計每個數出現的次數”來完成排序。二、如何實現計數排序(核心步驟&am…

k8s的權限

來自博客:25-k8s集群中-RBAC用戶角色資源權限_權限 資源 角色-CSDN博客 一.RBAC概述(基于角色的訪問控制) 1.圖解 用戶: 1.user 2.serviceAccount 3.Group 用戶角色 1.Role:局部資源角色 2.clusterRole:全局資源角色額 角色綁…

C++ - 仿 RabbitMQ 實現消息隊列--服務端核心模塊實現(三)

目錄 隊列數據管理 代碼實現 測試代碼 綁定信息(交換機-隊列)管理 代碼實現 測試代碼 隊列數據管理 當前隊列數據的管理,本質上是隊列描述信息的管理,描述當前服務器上有哪些隊列。 定義隊列描述數據類 隊列名稱是否持久化標志是否獨占標志是否自…

51c自動駕駛~合集9

自己的原文哦~ https://blog.51cto.com/whaosoft/11627386 #端到端1 說起端到端,每個從業者可能都覺得會是下一代自動駕駛量產方案繞不開的點!特斯拉率先吹響了方案更新的號角,無論是完全端到端,還是專注于planner的模…

時間長了忘記jupyter的環境是哪個了

有這些但是忘記是哪個了jupyter kernelspec list查看內核路徑,這個內核是用來告訴jupyter 去哪找內核配置的到這個路徑下打開json文件查看使用的python環境從而確定是哪個conda環境為jupyter使用的python環境jupyter的工作原理:在創建conda環境后會安裝j…

PYTHON從入門到實踐-15數據可視化

數據可視化是數據分析中不可或缺的一環,它能夠將抽象的數據轉化為直觀的圖形,幫助我們更好地理解數據特征和發現潛在規律。本文將介紹如何使用Python中的Matplotlib和Plotly庫進行數據可視化,并通過擲骰子的概率模擬案例展示可視化的實際應用…

Spring IOC 容器 **默認注冊 Bean** 的 8 條規則

Spring IOC 容器 默認注冊 Bean 的 8 條規則 (Spring Framework 6.x 源碼級總結)閱讀提示:把下面 8 條規則背下來,再讀 Spring 源碼時,你會在任何一行代碼里立刻知道「這個 BeanDefinition 是從哪兒來的」。1?? 環境…

29.【.NET8 實戰--孢子記賬--從單體到微服務--轉向微服務】--單體轉微服務--用戶配置服務

用戶配置服務是孢子記賬中最簡單的部分。簡單說,用戶配置服務就是用戶自定義的配置項存儲服務,用于我們的APP根據用戶的配置實現指定的功能。它提供了一個簡單的接口,允許用戶存儲和檢索他們的配置數據。就目前來說,用戶配置只有一…

Python實現PDF按頁分割:靈活拆分文檔的技術指南

Python實現PDF按頁分割:靈活拆分文檔的技術指南 PDF文件處理是日常工作中的常見需求,特別是當我們需要將大型PDF文檔拆分為多個部分時。本文將介紹如何使用Python創建一個靈活的PDF分割工具,能夠根據用戶指定的頁數范圍任意分割文檔。 需求分…

「iOS」——GCD其他方法詳解

GCD學習GCD其他方法dispatch_semaphore (信號量)**什么是信號量**dispatch_semaphore主要作用dispatch_semaphore主要作用異步轉同步設置一個最大開辟的線程數加鎖機制dispatch_time_t 兩種形式GCD一次性代碼(只執行一次)dispatch_barrier_async/sync柵欄…

【圖像處理基石】如何實現一個車輛檢測算法?

基于AI的車牌檢測和識別算法 問題描述、應用場景與難點 問題描述 車牌檢測和識別是計算機視覺領域的一個特定任務,主要包含兩個核心步驟: 車牌檢測:從圖像中準確定位車牌的位置和區域車牌識別:對檢測到的車牌區域進行字符識別&…

計算機學報 2025年 區塊鏈論文 錄用匯總 附pdf下載

計算機學報 Year:2025 2024請看 1 Title: 基于區塊鏈的動態多云多副本數據完整性審計方法研究 Authors: Key words: 區塊鏈;云存儲;多云多副本存儲;數據完整性審計 Abstract: 隨著云計算技術的快速發展和云存儲服務的日益…

計算機網絡-UDP協議

UDP(用戶數據報協議)是傳輸層的一種無連接、不可靠、輕量級的協議,適用于對實時性要求高、能容忍少量數據丟失的場景(如視頻流、DNS查詢等)。以下是UDP的詳細解析:1. UDP的核心特點特性說明無連接通信前無需…

子域名收集和c段查詢

子域名收集方法一、sitesite: 要查詢的域名可以查到相關網站二、oneforall (子域名查找工具)下載后解壓的文件夾在當前文件夾打開終端然后運行命令 python oneforall.py --target xxxxxxxx(這里放你要查的網址) run最…