如果用生成jtl文件再分析結果的方式的話,每一次請求就會往jtl里面寫一條數據,在進行長時間的穩定性測試的時候,特別是當TPS很高的時候,寫入的數據會非常的大,這個時候等穩定性測試完成,再對jtl進行分析,會無法分析,如果要強制進行分析,造成的最后結果是內存泄漏,即無法分析,所以需要通過其他途徑來保存和分析數據
上Grafana官網下載Grafana,此產品只有64位的版本,沒有32位的
Influxdb:InfluxDB是一個開源的時序數據庫,使用GO語言開發,特別適合用於處理和分析資源監控數據這種時序相關數據。而InfluxDB自帶的各種特殊函數如求標准差,隨機取樣數據,統計數據變化比等,使數據統計和實時分析變得十分方便。上官網下載
因為jmeter要往infuxdb里面寫數據,所以最好把這兩個放在一台機器上,grafana只做展示infuxdb里面的數據,可以另外部署
jmeter實時數據展示系統搭建(windows為例,linux也是這樣部署)
1,InfluxDB安裝配置
安裝:解壓influxdb-1.2.4_windows_amd64.zip
修改influxdb.conf
[[graphite]]
enabled = true
database = "jmeter"
bind-address = ":2003"
protocol = "tcp"
consistency-level = "one"
修改后
[admin]
enabled = true
bind-address = ":8083"
https-enabled = false
修改后
啟動:cmd下進入到解壓目錄,執行命令:influxd -config influxdb.conf
=================================linux版=================================
1、通過Xshell連接到虛擬機,執行如下命令(安裝完成后在/etc下面):
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.2.x86_64.rpm
sudo yum localinstall influxdb-1.2.2.x86_64.rpm
或者:rpm -ivh 自己上傳的 influxdb.rpm包
2、InfluxDb配置文件,存放在/etc/influxdb/influxdb.conf
3、InfluxDb操作
3.1、啟動InfluxDb,執行命令:systemctl start influxdb 或者:influxd
由於用單純的啟動命令啟動,當ssh客戶端關閉后會停止運行,所以用nohup后台啟動:nohup /usr/bin/influxd,這樣即使ssh客戶端關閉,也不會導致influxdb停止運行
3.2、查看InfluxDb狀態,執行命令:systemctl status influxdb
3.3、停止InfluxDb,執行命令:systemctl stop influxdb
開放8083端口
查詢端口開放狀態:firewall-cmd --query-port=8083/tcp
加入到要開放的端口:firewall-cmd --add-port=8083/tcp --permanent
重啟防火牆:firewall-cmd --reload
再次查詢開放狀態
=================================linux版=================================
訪問:http://localhost:8083/
創建數據庫:CREATE DATABASE "jmeter" 回車
2,安裝Grafana
安裝:直接解壓grafana-4.3.2.windows-x64.zip
啟動:進入bin目錄下,雙擊grafana-server.exe
=================================linux版=================================
一、安裝
1 通過Xshell連接到虛擬機,執行如下命令:
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
或者:rpm -ivh 自己上傳的grafana.rpm包
2 設置自啟動,執行如下命令:
systemctl daemon-reload (重新載入 systemd,掃描新的或有變動的單元)
systemctl enable grafana-server.service
3 啟動Grafana,執行命令:systemctl start grafana-server
4 通過瀏覽器訪問Grafana:Grafana默認訪問端口是3000,admin用戶的默認密碼是admin
二、Grafana配置文件,存放在/etc/grafana/grafana.ini,里面的配置,基本上不需要修改,如果需要修改,注釋掉每個配置項前面的分號即可。
1 數據文件:Grafana默認使用SQLite3進行存儲,存儲路徑為:/var/lib/grafana
2 日志文件存儲路徑為: /var/log/grafana
3 域名默認是:domain = localhost,其中localhost可以修改為指定的域名
4 是否允許非admin用戶創建組織:;allow_org_create = false
5 是否允許匿名登錄
[auth.anonymous]
# enable anonymous access
;enabled = false
=================================linux版=================================
訪問http://localhost:3000
登錄admin/admin
配置:
1、進入系統
2、添加DataSource,
3、name寫自定義的名稱隨便寫,type選influxdb
4、填寫influxdb的url(默認讀數據的端口號8086):http://localhost:8086
5、database寫jmeter,其他均不用寫,最后點save and test
可以點save&test試一下
回到home頁
注意:
8083是influxdb的web端訪問端口
2003是Jmeter往influxdb中寫數據的接口
8086是grafana訪問influxdb的端口
6、創建jmeter腳本,添加監聽器-backend listener
監聽器配置
1、graphiteHost:influxdb的ip
2、summaryOnly:false
3、samplersList:http請求名稱的前綴.+,如get-.+(這里有兩種情況,如只想看名字為http...的,就寫http...,如果想看多個,就用正則表達式,前提是創建的請求的前綴都是一樣的)
4、useRegexpForSamplersList:true
運行jmeter,到influxdb頁面中查詢:select * from /.*/ limit 1,可以看到剛才運行的數據
選擇jmeter庫
輸入sql語句,回車
5、配置grafana報表
這里一般選擇曲線圖就行了
點PanelTiltle_Edit,即可添加要監控的指標
要展示的指標,這里有3種情況,ok代表成功的,ko代表失敗的,a代表全部
Display下面,Null value改為connected,創建完成后關掉
展示為下圖,點ADD ROW可以繼續添加指標
如果不想看這個指標了,可以把鼠標往左放,會彈出菜單,remove就行了
設置好要展示的數據的階段和規則,點保存,以后想看哪個階段的數據都可以在這里設置
開始壓測,10個並發跑600秒
6、grafana中監聽的Jmeter各指標解釋:http://jmeter.apache.org/usermanual/realtime-results.html