Jmeter監控平台搭建:JMeter+InfluxDB+Grafana


背景

平時一般用Jmeter的Gui模式,添加對應的插件,查看每秒線程數、TPS、響應時間等曲線,其實高並發是不建議這么看的。

解決方案

可以搭配InfluxDB+Grafana工具,使Jmeter異步發送數據到InfluxDB,然后由Grafana查詢並展示出來,方便查看與比對。

之前使用Docker方式搭建過這個監控平台,這里記錄下。

 安裝Docker

網上安裝Docker的方式很多,我之前也寫過一篇Centos7下安裝Docker可以參考,本次是CentOS8.2安裝(華為雲 root賬戶)。

安裝所需軟件包:

yum install -y yum-utils device-mapper-persistent-data lvm2

 

 發現報錯了,原來是鏡像鏈接不對,官方描述該版本停止更新相應依賴了

 於是換源:參考鏈接,重新執行命令

 添加阿里雲鏡像:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

直接安裝最新版本:

yum install docker-ce

安裝完成后,輸入systemctl start docker命令啟動docker。

安裝InfluxDB

 InfluxDB是一個時間序列數據庫,旨在處理高寫入和查詢負載。用作涉及大量帶時間戳數據的任何用例的后備存儲,包括DevOps監控,應用程序指標,物聯網傳感器數據和實時分析。

使用docker命令拉取容器鏡像(由於2.x版本與1.x版本語法不一樣,這里安裝1.8版本的):

docker pull influxdb:1.8

運行容器(這里如果不用鏡像id會默認拉取influxdb的最新版本):

docker run --name my_influxdb -p 8086:8086 鏡像id

 為了保存jmeter的發送的數據,需要先建一個數據庫,進入容器(docker ps查看容器id)

docker exec -it 容器id /bin/bash

 輸入influx進入數據庫交互命令行,創建一個jmeter的數據庫。

influx
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
exit;

安裝Grafana

Grafana是一個跨平台的開源的度量分析和可視化工具,可以通過將采集的數據查詢然后可視化的展示,並及時通知,有着精美的可視化圖表模板。

使用docker命令拉取容器鏡像:

docker pull grafana/grafana

 運行容器:

docker run --name my_grafana -p 3000:3000 grafana/grafana

輸入IP:3000就可以訪問grafana了, 默認用戶名:admin,密碼admin。(本地訪問華為雲,需要在雲服務器控制台—安全組,找到對應的安全組開放出入端口)

Grafana配置數據源

登錄grafana,在界面中找到配置中心

接着添加數據源

 

 選擇influxDB

 配置數據源的名稱,遠程URL為上面influxdb的ip:8086,database為jmeter(由於在docker運行,地址不能填localhost或者127.0.0.1,可以填本機IP地址或者docker分配地址)

 

 點擊save&test按鈕,會自動連接保存,出現下面彈窗就ok了

 數據源添加好后,接着導入圖表展示模板,可以官方下載導入json文件方式,也可以直接輸入模板id導入,這里選擇后面一種。

 直接填寫模板id5496,點擊load

 修改模板名稱,匹配數據源,點擊import就ok了

 如下所示:

Jmeter配置

Jmeter的安裝就省略了,這里說下插件配置,添加后端監聽器:

 后端監聽器配置如下,其他配置不用動:

調試對比數據

添加一個簡單jmeter腳本,運行5分鍾

 查看聚合報告

 

 查看grafana圖表,選擇最近15分鍾的數據,和上面的報告數據也能對得上。

 注:如果性能場景存在多個事務,summaryOnly字段選擇false,可以統計各事務的情況,為true的話就只生成總的事務。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM