Jmeter+Influxdb+Grafana搭建

yetangjian發表於2024-03-06

背景

在無介面壓測情況下,我們需要去額外搭建視覺化觀測平臺。藉助於Influxdb+Grafana,我們可以輕鬆讓Jmeter的結果自動寫入Influxdb,Influxdb實時儲存執行結果,最後由Grafana作為展示

Jmeter

無介面執行需要修改配置(jmeter.properties)

  • jmeter.save.saveservice.response_data=true
  • jmeter.save.saveservice.output_format=csv
  • jmeter.save.saveservice.samplerData=true

注:如果jmeter執行記憶體過大導致卡死,可以修改jmeter.bat檔案,把記憶體改大

if not defined HEAP (
    rem See the unix startup file for the rationale of the following parameters,
    rem including some tuning recommendations
    set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
)

無介面執行命令

  • -n 無介面壓測
  • -t 指定jmx指令碼
  • -l 生成jtl測試報告,後面跟隨目標路徑
  • -e -o 直接生成報告html報告,後面跟隨目標路徑
jmeter -n -t <jmx指令碼> -l <路徑>

指令碼製作需要最後新增後端監聽器

Influxdb

下載地址:https://www.influxdata.com/downloads/

透過上述地址找到對應版本,通常我們下載v1.8版本就夠用了,我用的是windows版本安裝的https://dl.influxdata.com/influxdb/releases/influxdb-1.8.10_windows_amd64.zip

修改配置:

預設配置是#bind-address = "127.0.0.1"是用來監聽本機的,意味著他只會和本機通訊。如果Influxdb和Jmeter在同一機器上則無需修改。如果涉及分散式壓測則一定需要修改下方配置

# bind-address = "0.0.0.0:8088"

把可寫入置為true,資料庫名設定為jmeter

[[graphite]]
  # Determines whether the graphite endpoint is enabled.
  # enabled = true
  # database = "jmeter"

啟動服務:

安裝地址cmd進入

輸入命令啟動服務
influxd --config influxdb.conf

頁面如上圖所示,說明服務啟動成功

新開一個命令列工具

輸入命令登陸啟動的伺服器
influx
建立對應的資料庫(上面配置)的名字Jmeter
#檢視對應庫是否存在
show databases
#建立對應庫
create database jmeter

Grafana

下載地址:https://grafana.com/grafana/download

配置data sources

還需要新增一下資料庫的賬號密碼和庫名

配置模版

使用官方模版:https://grafana.com/grafana/dashboards/

搜尋對應模版

copy模版ID

黏貼對應的ID

成功展示效果

相關文章