若是用生成jtl文件再分析結果的方式的話,每一次請求就會往jtl裏面寫一條數據,在進行長時間的穩定性測試的時候,特別是當TPS很高的時候,寫入的數據會很是的大,這個時候等穩定性測試完成,再對jtl進行分析,會沒法分析,若是要強制進行分析,形成的最後結果是內存泄漏,即沒法分析,因此須要經過其餘途徑來保存和分析數據html
上Grafana官網下載Grafana,此產品只有64位的版本,沒有32位的linux
Influxdb:InfluxDB是一個開源的時序數據庫,使用GO語言開發,特別適合用於處理和分析資源監控數據這種時序相關數據。而InfluxDB自帶的各類特殊函數如求標準差,隨機取樣數據,統計數據變化比等,使數據統計和實時分析變得十分方便。上官網下載web
由於jmeter要往infuxdb裏面寫數據,因此最好把這兩個放在一臺機器上,grafana只作展現infuxdb裏面的數據,能夠另外部署正則表達式
jmeter實時數據展現系統搭建(windows爲例,linux也是這樣部署)sql
1,InfluxDB安裝配置
安裝:解壓influxdb-1.2.4_windows_amd64.zipshell
修改influxdb.conf數據庫
[[graphite]]
enabled = true
database = "jmeter"
bind-address = ":2003"
protocol = "tcp"
consistency-level = "one"apache
修改後windows
[admin]
enabled = true
bind-address = ":8083"
https-enabled = false瀏覽器
修改後
啓動:cmd下進入到解壓目錄,執行命令:influxd -config influxdb.conf
=================================linux版=================================
一、經過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包
二、InfluxDb配置文件,存放在/etc/influxdb/influxdb.conf
三、InfluxDb操做
3.一、啓動InfluxDb,執行命令:systemctl start influxdb 或者:influxd
因爲用單純的啓動命令啓動,當ssh客戶端關閉後會中止運行,因此用nohup後臺啓動:nohup /usr/bin/influxd,這樣即便ssh客戶端關閉,也不會致使influxdb中止運行
3.二、查看InfluxDb狀態,執行命令:systemctl status influxdb
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、安裝
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
2、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
配置:
一、進入系統
二、添加DataSource,
三、name寫自定義的名稱隨便寫,type選influxdb
四、填寫influxdb的url(默認讀數據的端口號8086):http://localhost:8086
五、database寫jmeter,其餘均不用寫,最後點save and test
能夠點save&test試一下
回到home頁
注意:
8083是influxdb的web端訪問端口
2003是Jmeter往influxdb中寫數據的接口
8086是grafana訪問influxdb的端口
六、建立jmeter腳本,添加監聽器-backend listener
監聽器配置
一、graphiteHost:influxdb的ip
二、summaryOnly:false
三、samplersList:http請求名稱的前綴.+,如get-.+(這裏有兩種狀況,如只想看名字爲http...的,就寫http...,若是想看多個,就用正則表達式,前提是建立的請求的前綴都是同樣的)
四、useRegexpForSamplersList:true
運行jmeter,到influxdb頁面中查詢:select * from /.*/ limit 1,能夠看到剛纔運行的數據
選擇jmeter庫
輸入sql語句,回車
五、配置grafana報表
這裏通常選擇曲線圖就好了
點PanelTiltle_Edit,便可添加要監控的指標
要展現的指標,這裏有3種狀況,ok表明成功的,ko表明失敗的,a表明所有
Display下面,Null value改成connected,建立完成後關掉
展現爲下圖,點ADD ROW能夠繼續添加指標
若是不想看這個指標了,能夠把鼠標往左放,會彈出菜單,remove就好了
設置好要展現的數據的階段和規則,點保存,之後想看哪一個階段的數據均可以在這裏設置
開始壓測,10個併發跑600秒
六、grafana中監聽的Jmeter各指標解釋:http://jmeter.apache.org/usermanual/realtime-results.html