文章目錄
- 1. 前言
-
- 1.1 InfluxDB 和 Grafana是什麼?
- 1.2 JMeter的曆代支援變遷
- 1.3 這篇文章講了什麼?
- 2. 下載下傳與安裝
-
- 2.1 InfluxDB 安裝
- 2.2 Grafana 安裝
- 3. 配置
-
- 3.1 InfluxDB 建立資料庫
- 3.2 JMeter 寫入InfluxDB
- 3.3 Grafana 配置資料源
- 3.4 Grafana 使用第三方報表樣式
- 4. Grafana 定制自己的dashboard(未完)
- 5. 尾聲(未完)
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可以了解為面闆。
未完。。有時間再碼。