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 http://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
點選save&test按鈕,會自動連線儲存,出現下面彈窗就ok了
資料來源新增好後,接著匯入圖表展示模板,可以 官方下載 匯入json檔案方式,也可以直接輸入模板id匯入,這裡選擇後面一種。
直接填寫模板id5496,點選load
修改模板名稱,匹配資料來源,點選import就ok了
如下所示:
Jmeter配置
Jmeter的安裝就省略了,這裡說下外掛配置,新增後端監聽器:
後端監聽器配置如下,其他配置不用動:
除錯對比資料
新增一個簡單jmeter指令碼,執行5分鐘
檢視聚合報告
檢視grafana圖表,選擇最近15分鐘的資料,和上面的報告資料也能對得上。
- 【演算法篇】刷了兩道大廠面試題,含淚 ”重學陣列“
- 2022 開源軟體安全狀況報告:超 41% 的企業對開源安全沒有足夠的信心
- JavaScript中async和await的使用以及佇列問題
- Flex & Bison 開始
- Obsidian基礎教程
- 分享自己平時使用的socket多客戶端通訊的程式碼技術點和軟體使用
- iNeuOS工業網際網路作業系統,增加2154個檢視建模(WEB組態)行業向量圖元、大屏背景及相關圖元
- 多臺雲伺服器的 Kubernetes 叢集搭建
- Elasticsearch學習系列四(聚合搜尋)
- 關於swiper外掛在vue2的使用
- 使用 Abp.Zero 搭建第三方登入模組(一):原理篇
- LVGL庫入門教程 - 顏色和影象
- Node.js精進(4)——事件觸發器
- 物聯網?快來看 Arduino 上雲啦
- SpringBoot JWT Redis 開源知識社群系統
- CVPR2022 | 可精簡域適應
- Spring框架系列(3) - 深入淺出Spring核心之控制反轉(IOC)
- 面試突擊59:一個表中可以有多個自增列嗎?
- CVPR2022 | 弱監督多標籤分類中的損失問題
- JDBC、ORM、JPA、Spring Data JPA,傻傻分不清楚?一文帶你釐清箇中曲直,給你個選擇SpringDataJPA的...