Grafana監控jmeter數據平台(Grafana+InfluxDB+Jmeter)


Grafana是最漂亮的web監控平台,也可以看歷史,可以展示所有的東西。
jmeter原生監控
在這里插入圖片描述

有點丑,以下為優化方案

 

 

方案簡介

InfluxDB是一個時序數據庫。go語言開發的。(時序數據庫:就是幾時幾秒里面有什么值)
jemter把數據給InfluxDB,InfluxDB再把數據給Grafana。InfluxDB是他們的中間人
要做兩件事:

  • 1.先把jmeter和InfluxDB配起來,性能測試的數據,有jmeter寫到influxDB里面

  • 2.Grafana也把這個InfluxDB配起來。才能出圖

需要下載的資源

1.mysql-connector-java-5.1.47-bin.jar 用於 JDBC 連接
2.JMeter-InfluxDB-Writer-plugin-1.2.jar 存儲時序數據
3.jmeter-load-test_rev5.json 用於 Grafana 數據可視化

為便於下載,所需文件存儲於網盤中
鏈接:https://pan.baidu.com/s/111F5KRMg2azSchS412G4iQ 密碼:wa6v

第一步

將jar放在lib\ext目錄下面

JMeter-InfluxDB-Writer-1.0.jar拷貝到D:\Jmeter工具\apache-jmeter-5.1.1\lib\ext目錄下: 打開jemter,有一個后端監控器。因為jar包放進去了。多了一個InfluxDB

在這里插入圖片描述

在這里插入圖片描述

現在還不能跑,因為依賴一個條件。InfluxDB雖然jmeter有插件了。但是InfluxDB本身還沒有在運行 


第二步

安裝influxdb

使用的Red Hat和CentOS用戶可以安裝InfluxDB最新的穩定版本 yum包管理器:

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key EOF

或者如果你的操作系統是使用systemd(CentOS 7 +,RHEL 7 +):

sudo yum install influxdb
sudo systemctl start influxdb


找到InfluxDB配置文件(/etc/influxdb/influxdb.conf)

vi /etc/influxdb/influxdb.conf


influxdb.conf中的大多數設置都被注釋掉了;所有注釋掉的設置將確定為內部默認值。如果配置文件中的任何未注釋的設置都會覆蓋內部默認值。
請注意,本地配置文件不需要包含每個配置設置。
如果你無法找到配置文件,可以使用InfluxDB顯示配置命令

influxd config

Jmeter使用graphite協議去寫入數據到InfluxDB,因此,需要在InfluxDB配置文件啟用它,如下圖所示:

[[graphite]]
enabled = true
bind-address = ":2003"
database = "jmeter"
retention-policy = ""
protocol = "tcp"
batch-size = 5000
batch-pending = 10
batch-timeout = "1s"
consistency-level = "one"
separator = "."
udp-read-buffer = 0

修改后,使用以下命令加載InfluxDB啟動

有兩種方法可以使用配置文件啟動InfluxDB:
1.使用以下-config選項將進程指向正確的配置文件

influxd -config /etc/influxdb/influxdb.conf

2.將環境變量設置為INFLUXDBCONFIGPATH配置文件的路徑並啟動

echo $INFLUXDB_CONFIG_PATH
/etc/influxdb/influxdb.conf
influxd

InfluxDB操作

[root@zuozewei ~]# influx #登錄數據庫
Connected to http://localhost:8086 version 1.6.2
InfluxDB shell version: 1.6.2
> show databases #查看所有數據庫
name: databases
name
----
_internal
> CREATE DATABASE "jmeter" #創建數據庫
> use jmeter #切換數據庫
Using database jmeter
> CREATE USER "admin" WITH PASSWORD 'admin' WITH ALL PRIVILEGES # 創建管理員權限的用戶

jmeter 添加監聽器 Backend Listener 驗證數據是否能寫入到 influxdb

jmeter4.0

 

 

influxdbUrl :http://host_to_change:8086/write?db=jmeter
#host_to_change寫安裝influxdb服務的ip 端口如修改填寫修改后的端口 db前面創建的數據庫:jmeter
application :隨便寫后面grafana會用到

添加請求運行
回到 influx 終端:選擇數據庫

> use jmeter

執行 sql 語句查看剛剛的請求數據是否有插入,如有說明配置成功

> select * from jmeter

 

第三步

Grafana&InfluxDB集成
什么是Grafana?

Grafana是一個開源軟件,擁有豐富的指標儀表盤和圖形編輯器,適用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。簡單點說就是一套開源WEB可視化平台。

官網地址:https://grafana.com/

1、安裝啟動
下載安裝

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm
sudo yum localinstall grafana-4.2.0-1.x86_64.rpm


啟動

service grafana-server start
Starting grafana-server (via systemctl): [ OK ]

使用瀏覽器打開 http://IP:3000/login,訪問Grafana主頁

 

 

 

創建InfluxDB數據源


單擊save&test,確保可以連接上InfluxDB

 

 

 

創建dashboard

 

 

 

添加Graph面板

 

 

 

數據綁定

 

 

 

 

 

 

 

 

 

 

線程數/用戶相關指標
test.minAT-Min active threads:最小活躍線程數
test.maxAT-Max active threads:最大活躍線程數
test.meanAT-Mean active threads:活躍線程數
test.startedT-Started threads:啟動線程數
test.endedT-Finished threads:結束線程數

 

 響應時間指標

.ok.count:采樣器的成功響應數

.h.count:每秒點擊數
.ok.min:采樣器成功最短響應時間
.ok.max:采樣器成功最長響應時間
.ok.avg:采樣器成功平均響應時間
.ok.pct:采樣器成功響應百分比
.ko.count:采樣器失敗響應數
.ko.min:采樣器失敗的響應最短時間
.ko.max:采樣稱失敗最長響應時間
.ko.avg:采樣器失敗平均響應時間
.ko.pct:采樣器失敗響應百分比
.a.count:采樣器響應數(ok.count和ko.count的總和)
.a.min:采樣器最小響應時間(ok.count和ko.count的最小值)
.a.max:采樣器最大響應時間(ok.count和ko.count的最大值)
.a.avg:采樣器平均響應時間(ok.count和ko.count的平均值)
.a.pct:采樣器響應百分比(根據和失敗樣本的總數計算)

Backend Listener的默認百分位設置為“90;95;99”,即百分位數為90%,95%和99%。
Graphite使用點(“.”)去拆分的元素,這可能與十進制百分位值混淆。JMeter轉換任何此類值,用下划線(“ - ”)替換點(“.”)。例如,“99.9 ”變為“99_9 ”
默認情況下,JMeter發送在samplerName“all”下累計的所有采樣器的指標。 如果配置了 BackendListenerSamplersList,那么JMeter還會發送匹配樣本名稱的指標,前提是配置 summaryOnly=true

壓測中的效果

 

 

第四步
導入Dashboard模版
如果讓大家去設計一個好看的Dashboard,估計大家都不太想從零開始自己設計,其實Grafana官網提供豐富的模版的庫,大家可以自己上去找,然后進行二次擴展。

官網模版庫:https://grafana.com/dashboards

搜索看板模版

 

 

此處,我選擇下載這個下載量3000+的模版

 

 

下模版JSON文件

 

 

導入模版

 

 


選擇數據源

 

 

JMeter Backend Listener設置

 

 

壓測期間的動畫效果


至此,我初步打造的壓測可視化實時監控大功告成~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM