性能測試之grafana展示jmeter測試指標與主機監控

性能測試之grafana展示jmeter測試指標與主機監控

背景

? 公司新的項目準備開展性能測試,之前性能監控主要使用的jmeter的插件jp@gc-Transactions per Second 與 jp@gc- Response Times Over Time 與 jp@gc - Active Threads Over Time等等插件監控性能指標結果,PerfMon Metrics Collector與ServerAgent監控服務器的性能指標.

? 本次的方案決定使用grafana展示.具體使用Prometheus監控主機資源情況, influxdb接收jmeter腳本執行信息.所有的圖表都可以使用grafana的模版來展示.

? 本次是第一次使用,有不足之處后續再調整吧.

? 廢話稍多,開整…

一 安裝部署Prometheus

步驟 1: 下載 Prometheus

  1. 訪問 Prometheus 官方下載頁面。

  2. 根據你的操作系統選擇對應的版本進行下載。這里以 Linux 系統為例。

  3. 下載后,解壓文件:

    tar -xvf prometheus-*.tar.gz
    

步驟 2: 配置 Prometheus

  1. 在解壓后的目錄中,你會看到 prometheus.yml 文件,這個文件是 Prometheus 的配置文件,你可以根據需要進行修改。

  2. 打開 prometheus.yml,可以看到默認的配置如下:

    global:scrape_interval: 15s  # 默認每 15 秒抓取一次數據scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']
    

    這里的配置表示 Prometheus 會定期從 localhost:9090(即 Prometheus 本身)抓取指標數據。

步驟 3: 啟動 Prometheus

  1. 在解壓后的目錄中,可以找到

    prometheus 
    

    可執行文件。通過以下命令啟動 Prometheus:

    nohup  ./prometheus --config.file=prometheus.yml
    
  2. 啟動后,Prometheus 會監聽 9090 端口,你可以通過瀏覽器訪問 http://localhost:9090 來查看 Prometheus 的 Web UI。
    在這里插入圖片描述

二 部署Node Exporter

部署 Node Exporter 主要是為了監控和收集機器的系統指標,比如 CPU 使用率、內存使用、磁盤 I/O、網絡流量等。這些數據可以被 Prometheus 用來采集。

1. 下載 Node Exporter

首先,你需要從 Prometheus Node Exporter GitHub 頁面 下載適合你操作系統的 Node Exporter 版本。

例如,在 Linux 系統上,可以使用 wget 或 curl 下載最新的 tar.gz 包。

wget https://github.com/prometheus/node_exporter/releases/download/v1.9.0/nnode_exporter-1.9.0.linux-amd64.tar.gz

2. 解壓文件

下載完成后,解壓 Node Exporter 的 tar.gz 文件。

#解壓tar -xf node_exporter-1.9.0.linux-amd64.tar.gz -C /usr/local/
#修改名稱mv /usr/local/node_exporter-1.9.0.linux-amd64/ /usr/local/node_exporter

3.啟動

nohup   /usr/local/node_exporter/node_exporter &

4. 驗證啟動

 [root@agent1 ~]# lsof -i:9100

通過瀏覽器訪問'http://被監控端IP:9100/metrics就可以查看到node_exporter在被監控端收集的監控信息
在這里插入圖片描述

5 配置prometheus

回到prometheus服務器的配置文件里添加被監控機器的配置段

vim /usr/local/prometheus/prometheus.yml

在主配置文件最后加上下面三行

- job_name: 'agent1' # 取一個job名稱來代表被監控的機器 
static_configs:
- targets: ['172.16.29.72:9100'] # 這里改成被監控機器的IP,后面端口接9100

在這里插入圖片描述

三 部署Grafana

Grafana 是一個開源的數據可視化和監控平臺,主要用于從各種數據源(如 Prometheus、InfluxDB、Elasticsearch 等)獲取數據,并將這些數據以直觀的圖表、面板和儀表盤的形式進行展示。它被廣泛用于實時監控和分析基礎設施、應用程序和其他業務數據

1.下載;

wget https://dl.grafana.com/oss/release/grafana-5.3.4-1.x86_64.rpm

2.缺少依賴下載失敗情況

缺少依賴的話安裝

yum install urw-fonts

3.開機啟動和啟動

systemctl start  grafana-server
systemctl enable grafana-server

4.驗證啟動

確認端口

lsof -i:3000

通過瀏覽器訪問 http:// grafana服務器IP:3000就到了登錄界面,使用默認的admin用戶,admin密碼就可以登陸了 默認密碼是admin
在這里插入圖片描述

5 接入prometheus數據源

在這里插入圖片描述
在這里插入圖片描述

四 安裝influxdb

Meter 和 InfluxDB 是常用的工具。JMeter 用于執行性能測試,而 InfluxDB 是一個時間序列數據庫,通常用于存儲和分析與時間相關的性能數據。將這兩個工具結合起來使用,可以更有效地收集、存儲和分析測試結果

1. 清除 YUM 緩存

首先,清除之前下載的緩存文件,確保沒有過時的包信息:

sudo yum clean all

2. 導入 InfluxDB 的 GPG 公鑰

確保正確導入了 InfluxDB 官方 GPG 密鑰。你可以使用以下命令重新導入密鑰:

curl -sL https://repos.influxdata.com/influxdb.key | sudo tee /etc/pki/rpm-gpg/influxdb.key

3. 配置 InfluxDB 倉庫

再次檢查你的倉庫配置文件 /etc/yum.repos.d/influxdb.repo 是否正確。如果沒有正確配置,可以重新配置:

echo -e "[influxdb]\nname = InfluxDB Repository\nbaseurl = https://repos.influxdata.com/rhel/7/x86_64/stable\ngpgcheck = 1\ngpgkey = https://repos.influxdata.com/influxdb.key" | sudo tee /etc/yum.repos.d/influxdb.repo

4. 禁用 GPG 驗證(可選)

如果你仍然遇到 GPG 錯誤,并且你確信源是可信的,你可以臨時禁用 GPG 驗證,雖然這種方式不推薦做長期使用:

sudo yum install --nogpgcheck influxdb

5. 更新緩存并安裝 InfluxDB

重新更新倉庫緩存并安裝 InfluxDB:

sudo yum makecache
sudo yum install influxdb

6. 啟動 InfluxDB 服務

安裝完成后,啟動 InfluxDB 服務:

sudo systemctl start influxdb

7. 設置開機啟動

如果需要在系統重啟時自動啟動 InfluxDB,可以使用以下命令:

sudo systemctl enable influxdb

8. 驗證安裝

通過以下命令檢查 InfluxDB 服務是否已啟動:

sudo systemctl status influxdb

9.Grafana接入 InfluxDB數據

在這里插入圖片描述

五 jmeter 配置后端監聽器

添加監聽器org.apache.jmeter.visualizers.backend. influxdb.InfluxdbBackendlistenerClient
在這里插入圖片描述

六 Grafana導入監控模版

在這里插入圖片描述模板ID:5496 監控Jmeter壓測后的響應時間,吞吐量等 模板ID:12633 監控Linux服務器硬件詳情,如CPU使用率,內存使用率等

七 性能測試

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

八總結

本次時間匆忙,后續有時間監控數據庫以及redis,kafaka,es等中間件,以及開機自起......

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/898240.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/898240.shtml
英文地址,請注明出處:http://en.pswp.cn/news/898240.shtml

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

相關文章

1~2 課程簡介+ESP32-IDF環境搭建(虛擬機Linux環境下)

嗶站“宸芯IOT”視頻鏈接 一、課程內容介紹 1.什么是ESP32 ESP32是集成2.4GHz Wi-Fi和藍牙雙模的單芯片方案,具有超高的射頻性能、穩定性、通用性和可靠性,以及超低的功耗,滿足不同的功耗需求,適用于各種應用場景。ESP32是ESP8…

Vue3一個組件綁定多個 v-model,自定義 prop 和 event 名稱

Vue3一個組件綁定多個 v-model,自定義 prop 和 event 名稱 Vue3中v-model默認使用modelValue作為prop,update:modelValue作為事件,而Vue2使用的是value和input。此外,Vue3允許通過參數的方式為組件添加多個v-model綁定&#xff0…

YOLOv11小白的進擊之路(九)創新YOLO11損失函數之NWD損失函數源碼解讀

之前的博客也有對YOLO11的損失函數進行過源碼分析,可以參考:YOLOv11小白的進擊之路(六)創新YOLO的iou及損失函數時的源碼分析_yolov11的損失函數是什么-CSDN博客最近在做小目標檢測的時候注意到了NWD損失函數,這里對其…

VLN 論文精讀(四)Dynamic Path Navigation for Motion Agents with LLM Reasoning

這篇筆記用來描述2025年發表在arxiv上的一篇有關VLN領域的論文,由港科大和達特茅斯大學聯合發布,其核心思想有以下幾點: 將3D環境轉化為2D平面;2D平面中障礙物分布、機器人起點與終點信息用稀疏矩陣形式進行描述;與LL…

vue3之寫一個aichat ----vite.config.js

vite.config.js的CSS配置 postcss-pxtorem 開發響應式網頁的時候需要用到postcss-pxtorem amfe-flexible amfe-flexible是由阿里團隊開發的一個庫,它可以根據設備的屏幕寬度去動態調整HTML根元素()的字體大小,這意味著無論用戶使用什么尺寸的設備訪問你…

寶石PDF,全新 PC 版本,全部免費

寶石PDF已經運行 3 年時間,有客戶端,小程序,一直未上 PC 版本,隨著客戶端功能升級的不及時,很多用戶建議上 PC 版本。但是飛哥一直忙,這不終于給上了。 同時系統的名稱也從 “PDF云轉換”改為“寶石PDF”&…

.NET8使用EF Core連接SQLite

使用框架 .NET8 在nuget中,需要安裝包: SQLitePCLRaw.bundle_e_sqlite3,版本 2.1.10 Microsoft.EntityFrameworkCore.Sqlite.Core,版本 9.0.0 using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using Microso…

HTML課后實踐

實驗一 【實驗原理】 在搜索引擎的文本分析中,標題的信息權重要比正文的大,所以標題的樣式非常重要。本實驗通過把標題標記和常規文本進行對比輸出,掌握標題標簽的用法。在網頁中,有時需要為文字設置粗體、斜體或下劃線效果&#…

【紫光同創FPGA開發常用工具】FPGACPLD的下載與固化

文檔內容適配技術問題說明(非正文): 1、FPGA&CPLD如何下載位流文件; 2、FPGA外部flash如何固化位流文件; 3、PDS軟件燒錄界面如何新增用戶flash; 4、CPLD內部flash如何固化位流文件; F…

前端傳參+后端接參對照

? Java 后端參數接收注解 & 前端傳參格式對照 后端注解前端 Content-Type前端傳參方式說明RequestParamapplication/x-www-form-urlencodedURL參數 / form表單提交 / Postman form-data常用于 keyvalue 形式的參數;適合少量簡單參數RequestParamURL拼接/api/t…

計算機網絡的框架結構

計算機網絡課程知識體系框架 一、計算機網絡基礎概念 1.1 網絡組成要素 端系統(主機、服務器)通信鏈路(有線/無線介質)交換設備(路由器、交換機)協議體系(TCP/IP協議簇) 1.2 網絡…

塔能智慧物聯節能方案:點亮城市,賦能工廠

在全球積極倡導節能減排、綠色發展的時代背景下,塔能(江蘇)科技有限公司憑借其創新的智慧物聯節能一體化解決方案,在城市照明和工廠節能領域取得了顯著成果。該方案不僅為城市的夜晚帶來了明亮且節能的照明,還為工廠的…

Laravel框架下通過DB獲取數據并轉為數組的方法

在Laravel框架中,獲取數據庫信息并將其轉換為數組是一種常見的操作,特別是在處理數據導出、API響應等場景中。Laravel提供了簡潔而強大的數據庫抽象層,旨在簡化這類操作。接下來,我們將探討幾種在Laravel中通過數據庫抽象層&#…

pytorch小記(九):pytorch中創建指定形狀的張量: torch.empty

pytorch小記(九):pytorch中創建指定形狀的張量: torch.empty 詳細解釋1. 基本功能2. 語法3. 示例代碼示例 1:創建一個 5 的未初始化張量示例 2:創建一個 23 的未初始化張量示例 3:指定數據類型和設備 4. 注…

Linux cgroup cpuset

cpuset.c 是 Linux cgroup 的 cpuset 子系統的核心實現,這個文件的主要作用是: 實現 cgroup 的 cpuset 子系統管理進程的 CPU 和內存資源訪問權限提供 CPU 和內存節點的獨占功能支持層級化的資源管理提供用戶空間接口來配置和查看資源限制 關鍵數據結構…

Tailwind CSS 學習筆記(一)

一、簡介 Tailwind CSS是一個工具優先的CSS 框架,只需書寫HTML 代碼,無需書寫CSS,即可快速構建美觀的網站。 二、優點 1、簡潔、規整,避免了隨意取類名 Tailwind CSS 的工具類(Utility classes) 能夠為你提供一套約束系統,避免讓你的樣式表中出現隨意的取值。它讓顏色、…

Python自動點擊器開發教程 - 支持鍵盤連按和鼠標連點

Python自動點擊器開發教程 - 支持鍵盤連按和鼠標連點 這里寫目錄標題 Python自動點擊器開發教程 - 支持鍵盤連按和鼠標連點項目介紹開發環境安裝依賴核心代碼解析1. 鍵盤模擬實現2. 鼠標點擊實現 開發要點使用說明注意事項優化建議打包發布項目源碼開發心得參考資料成品工具 項…

Cursor插件市場打不開解決

問題現象: cursor搜索插件的時候提示錯誤,無法搜索安裝插件 error while fetching extensions.failed to fetch 問題原因 cursor默認安裝使用的并不是vs code的插件市場,國內網絡有時候打不開 解決 修改插件市場地址并重啟cursor 打開cur…

【DeepSeek】本地部署DeepSeek的完整教程(Ollama+Docker+Open WebUI)

本地部署DeepSeek的完整教程 文章目錄 本地部署DeepSeek的完整教程寫在前面技術需求詳細步驟一. 安裝Ollama軟件二. 安裝DeepSeek-R1模型三. 安裝Docker軟件四. 配置Web UI界面問題解決1. 打開`docker desktop`時,一直顯示`Docker Engine stopped`2. 用`Docker`拉取`Open WebU…

Java創造型模式之原型模式詳解

設計模式是面向對象設計中的一種標準方法,用于解決常見的設計問題。原型設計模式(Prototype Pattern)是23種經典設計模式之一,屬于創建型模式,它允許通過復制現有對象來創建新對象,而不是通過構造函數或工廠…