JMeter 5.0 + InfluxDB + Grafana 性能測試監控平臺(Windows平臺)

1. 前言

JMeter往往需要執行完之後拼湊完測試報告,才能看到結果。命令行裏的內容也不夠詳細。那麼如何在執行過程中實時監控執行效果呢?

1.1 InfluxDB 和 Grafana是什麼?

最近在朋友的推薦下學習k6,發現k6有一套完善的監控平臺生態,就是k6 + InfluxDB + Grafana。
在這裏插入圖片描述
簡單介紹一下
k6是一個新興的性能測試工具
InfluxDB是一種時序數據庫,用來存放監控數據
Grafana是一個可視化圖表平臺

這個組合可以解決我們的痛點,那就是性能測試過程中的不透明。同時官方很早就支持了InfluxDB,甚至還有官方報告樣式直接套用。這篇文章就給大家演示一下如何部署,一起學習。

1.2 JMeter的歷代支持變遷

經過查閱發現
JMeter 2.13版本開始支持向InfluxDB的2003監聽端口傳數據
在這裏插入圖片描述
*這個方式要在InfluxDB上啓一個2003監聽服務,不推薦這個方式
(這個方式我試了好幾次,都沒有成功InfluxDB就是收不到數據)


JMeter 3.2版本開始支持直接向InfluxDB的8086端口寫數據(和Grafana方式一樣)
在這裏插入圖片描述
*推薦這個方式,本教程演示的也是此方法

JMeter 5.0版本增加了一些支持的字段,建議使用JMeter 5.0以上版本搭配 InfluxDB + Grafana
在這裏插入圖片描述

1.3 這篇文章講了什麼?

本人將演示
a. InfluxDB 1.8 Windows 平臺 下載與安裝
b. Grafana 6.7.2 Windows 平臺 下載與安裝
c. JMeter 5.0 配置 連接InfluxDB的方法
d. Grafana 展示 InfluxDB 數據的方法,並使用第三方報表樣式

2. 下載與安裝

我這也有一個下好的安裝包集合 可以直接下載
https://download.csdn.net/download/tomoya_chen/12347268

2.1 InfluxDB 安裝

Mac & Linux 安裝可以參考官方文檔(通過命令行安裝)
https://docs.influxdata.com/influxdb/v1.8/introduction/install/

Windows或以上系統想下載文件進行安裝的話,訪問下面這個鏈接
https://portal.influxdata.com/downloads/
在這裏插入圖片描述


根據你的系統選擇,我這裏演示的是Windows平臺
在這裏插入圖片描述


下載完解壓出來你會得到這樣一個目錄
在這裏插入圖片描述


命令行啓動influxdb服務,這樣你就啓動了一個8086端口(默認)的一個服務。

> influxd
> influxd --config influxdb.conf

在這裏插入圖片描述


InfluxDB自帶一個客戶端程序,InfluxDB也支持web平臺管理查看,這裏不需要。

> influx

在這裏插入圖片描述


InfluxDB常用命令(這裏暫不做操作,僅供學習)

# 查看數據庫列表
show databases

# 查看錶列表
show measurements

# 創建數據庫
create database 數據庫名

# 刪除數據庫
drop database 數據庫名

# 刪除表
drop measurements 表名

# 使用數據
use 數據庫名

# sql語句和MySQL等關係型數據庫很相似
select * from 表名 where 列名 =

在這裏插入圖片描述


至此,我們的InfluxDB已經安裝好了

2.2 Grafana 安裝

Mac & Linux 安裝可以參考官方文檔(通過命令行安裝)
https://grafana.com/docs/grafana/latest/installation/

Windows或以上系統想下載文件進行安裝的話,訪問下面這個鏈接
https://grafana.com/grafana/download
在這裏插入圖片描述
*推薦安裝版,比解壓版省心,不用自己配服務


下載完之後直接雙擊安裝,一直下一步就可以了...

在這裏插入圖片描述

安裝完成後,可以正常訪問http://127.0.0.1:3000表示安裝成功
默認用戶名密碼 admin admin
在這裏插入圖片描述


3. 配置

3.1 InfluxDB 創建數據庫

命令行啓動influxdb服務,這樣你就啓動了一個8086端口(默認)的一個服務,這個cmd框不能關閉。

> influxd

在這裏插入圖片描述

命令行創建一個數據庫,名爲"jmeter",用來存放測試數據。

influx
create database jmeter
show databases

在這裏插入圖片描述

3.2 JMeter 寫入InfluxDB

添加一個後端監聽器(英文版: Backend Listener)
Backend Listener implementation 選擇 InfluxdbBackendListenerClient
在這裏插入圖片描述
influxdbUrl中域名改成InfluxDB所在服務器地址,這裏是本地。db需要與3.1中創建的數據庫名一致。
application 與 testTitle根據實際填寫
*summaryOnly的意思是,ture:所有HTTP採樣器一起統計,false:每個HTTP採樣器分開統計。
在這裏插入圖片描述

點擊執行,之前啓influxdb服務的cmd框一直有打印監聽到的數據說明接受到了JMeter傳來的信息
在這裏插入圖片描述

3.3 Grafana 配置數據源

首先需要配置一個數據源,自然也就是我們剛纔安裝的InfluxDB了。
在左側齒輪選擇Data Sources(或者直接點首頁步驟鏈路裏的"Add data source")
在這裏插入圖片描述

選擇新增一個數據源,然後搜索"InfluxDB"
在這裏插入圖片描述
最少只需要更改2處,URL改成InfluxDB所在服務器地址,這裏是本地。
http://127.0.0.1:8086
在這裏插入圖片描述
數據庫名這裏填jmeter
*此前3.1裏創建的數據庫
在這裏插入圖片描述

3.4 Grafana 使用第三方報表樣式

Grafana的dashboards下載地址:
https://grafana.com/grafana/dashboards?search=jmeter&orderBy=name&direction=asc


推薦第一個,用的人多,點一下進入詳情頁
在這裏插入圖片描述
複製一下這裏的id數字
在這裏插入圖片描述
回到Grafana頁面,左側導航選擇+號的import菜單
在這裏插入圖片描述
把剛纔報表id粘貼在這裏,就可以使用這個報表樣式了
在這裏插入圖片描述
導入前,需要填一些信息,這裏DB name就是剛纔配置的數據源,Measurement name是表名的意思
在這裏插入圖片描述

如果之前步驟都正確的話,此時報表已經可以看到數據了。是不是很酷炫。
*如果JMeter是5.0版本以下,是沒有Received Btyes和 Send Bytes
在這裏插入圖片描述

4. Grafana 定製自己的dashboard(未完)

添加一個新的dashboard
在這裏插入圖片描述
在dashboard上添加panel,panel可以理解爲面板。
在這裏插入圖片描述

未完。。有時間再碼。

5. 尾聲(未完)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章