搭建Jmeter + Grafana + InfluxDB性能測試監控環境

背景

Jmeter原生的實時監控每半分鐘收集一次數據,只能在Linux控制檯查看日誌輸出,界面看起來不直觀,圖表報告只能等壓測結束後才能生成。以下圖爲jmeterLinux下運行的實時日誌:正則表達式

 

 

那麼如何在壓測過程當中實時生成圖表監控數據呢?這裏介紹一種實現方案:搭建Jmeter + Grafana + InfluxDB性能測試監控環境。數據庫

實現方案

 

BackendListenerJmeter中的監聽器瀏覽器

InfluxDB:存儲實時數據的DBtcp

GrafanaDB中存儲的實時數據能夠在瀏覽器查看性能

軟件安裝

1安裝InfluxDB

新建InfluxDB下載源

cat << EOF | tee /etc/yum.repos.d/influxdb.repo測試

[influxdb]ui

name = InfluxDB Repository - RHEL \$releaseverurl

baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stablespa

enabled = 1線程

gpgcheck = 1

gpgkey = https://repos.influxdata.com/influxdb.key

EOF

使用yum下載InfluxDB

yum install -y influxdb

修改InfluxDB的配置,主要配置jmeter存儲的數據庫與端口號,還有須要將UI端口開放

[root@localhost ~]# vi /etc/influxdb/influxdb.conf

# 找到graphite而且修改它的庫與端口

[[graphite]]

  enabled = true

  database = "jmeter"

  bind-address = ":2003"

  protocol = "tcp"

  consistency-level = "one"

啓動InfluxDB

[root@localhost ~]# /etc/init.d/influxdb restart

Stopping influxdb...

influxdb process was stopped [ OK ]

Starting influxdb...

influxdb process was started [ OK ]

2安裝Grafana

使用yum下載Grafana而且安裝

yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.0.1-1.x86_64.rpm

啓動Grafana

[root@localhost ~]# /etc/init.d/grafana-server restart

OKopping Grafana Server ...                                [  OK  ]

Starting Grafana Server: .... OK

打開瀏覽器,訪問測試機IP

 - 8086端口是Grafana用來從數據庫取數據的端口

 - 2003端口Jmeter往數據庫發數據的端口

三、配置Jmeter

 

 

配置Grafana數據源

 

 

配置圖表

圖表配置比較麻煩,能夠直接導入別人配置好的圖表:https://grafana.com/dashboards/4026

大體介紹幾種經常使用的監控

名稱

描述

jmeter.all.h.count

全部請求的TPS

jmeter.<請求名稱>.h.count

對應<請求名稱>的TPS

jmeter.all.ok.pct99

99%的請求響應時間

jmeter.<請求名稱>.ok.pct99

對應<請求名稱>99%的請求響應時間

jmeter.all.test.startedT

線程數

若是要監控<請求名稱>的話,Jmeter上的「Backend Listener」修改以下參數

1. 將「summanyOnly」修改爲False,

2. 將「userRegexpForSamplersList」修改爲True,

3. 而且要設置「samplersList」的值,「samplersList」是能夠支持正則表達式的,「samplersList」的設置要與請求對應,不然找不到該請求。

配置好的監控圖:

 

相關文章
相關標籤/搜索