背景:html
話說Jmeter原生的監控確實太醜了,聽大佬們在討論Jmeter+InfluxDb+Grafana的監控,因而,爲了有一個漂亮的測試報告,就手動開始進行部署。shell
安裝步驟:數據庫
一、influxdb下載安裝:apache
[root@localhost ~]# wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm --no-check-certificatejson
[root@localhost ~]# rpm -ivh influxdb-1.7.0.x86_64.rpmubuntu
(若是未安裝wget,須要先安裝,安裝命令:[root@localhost ~]# yum search wget、[root@localhost ~]# yum install wget.x86_64,安裝rpm命令:(ubuntu系統:apt-get install rpm))centos
安裝完以後,配置文件路徑爲: /etc/influxdb/influxdb.conf瀏覽器
修改配置文件:tcp
[root@localhost ~]# vi /etc/influxdb/influxdb.conf測試
在配置文件中找到graphite配置項
[meta]
# Where the metadata/raft database is stored
# 存放最終存儲的數據,文件以.tsm
dir = "/usr/local/influxdb/meta"
[data]
# The directory where the TSM storage engine stores TSM files.
# 存放數據庫的源數據wal
dir = "/usr/local/influxdb/data"
# The directory where the TSM storage engine stores WAL files.
# 存放預寫日誌文件
wal-dir = "/var/lib/influxdb/wal"
[[graphite]] # Determines whether the graphite endpoint is enabled. enabled = true database = "jmeter" # 數據庫名稱 retention-policy = "" bind-address = ":2003" # 端口 protocol = "tcp" consistency-level = "one" 修改HTTP端口信息 [http] # Determines whether HTTP endpoint is enabled. enabled = true # The bind address used by the HTTP service. bind-address = ":8086"
啓動influxd服務:
[root@localhost ~]# influxd &
influxDB的tcp端口:8088
查看端口有沒有起來:
[root@localhost ~]# netstat -anp|grep 8088
influxDB數據庫操做:
[root@jmeter ~]# influx # 登陸數據庫 Connected to http://localhost:8086 version 1.6.0 InfluxDB shell version: 1.6.0 > show databases # 查看數據庫 name: databases name ---- _internal jmeter > create database "jmeter" # 建立數據庫 > use jmeter #切換數據庫 Using database jmeter > create user "admin" with password '123456' with all privileges # 建立管理員權限的用戶
開啓須要用到的接口:
[root@localhost ~]# firewall-cmd --zone=public --add-port=8086/tcp --permanent success [root@localhost ~]# firewall-cmd --zone=public --add-port=2003/tcp --permanent success [root@localhost ~]# firewall-cmd --zone=public --add-port=8088/tcp --permanent success [root@localhost ~]# firewall-cmd --reload success
二、Jmeter配置
建立一個測試計劃,並添加監聽器-Backend Listenter,Backend Listener implementation 選擇org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient
添加線程
設置influxDB IP及端口
運行測試,等待幾秒看數據
端口說明:
2003端口:Jmeter往數據庫發數據的端口
8086端口,Grafana從數據庫取數據的端口
查看Jmeter數據庫的表信息:
[root@jmeter ~]# influx Connected to http://localhost:8086 version 1.6.0 InfluxDB shell version: 1.6.0 > show measurements ERR: database name required Warning: It is possible this error is due to not setting a database. Please set a database with the command "use <database>". > show databases name: databases name ---- _internal jmeter > use jmeter Using database jmeter > show measurements name: measurements name ---- jmeter.all.a.avg jmeter.all.a.count jmeter.all.a.max jmeter.all.a.min jmeter.all.a.pct90 jmeter.all.a.pct95 jmeter.all.a.pct99 jmeter.all.h.count jmeter.all.ko.avg jmeter.all.ko.count jmeter.all.ko.max jmeter.all.ko.min jmeter.all.ko.pct90 jmeter.all.ko.pct95 jmeter.all.ko.pct99 jmeter.all.ok.avg jmeter.all.ok.count jmeter.all.ok.max jmeter.all.ok.min jmeter.all.ok.pct90 jmeter.all.ok.pct95 jmeter.all.ok.pct99 jmeter.all.rb.bytes jmeter.all.sb.bytes jmeter.test.endedT jmeter.test.maxAT jmeter.test.meanAT jmeter.test.minAT jmeter.test.startedT
這個時候已經能夠將統計數據成功發送到InfluxDB
補充:
能夠將JMeter-InfluxDB-Writer-plugin-1.2.jar放到jmeter的lib\ext目錄下,這時能夠選擇:
三、Grafana和influxDB數據源配置
安裝Grafana:
官網:https://grafana.com/grafana/download
下載地址:https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.1-1.x86_64.rpm
安裝:rpm -ivh grafana-5.2.1-1.x86_64.rpm
(若是提示:
警告:grafana-5.2.1-1.x86_64.rpm: 頭V4 RSA/SHA1 Signature, 密鑰 ID 24098cb6: NOKEY
錯誤:依賴檢測失敗:
fontconfig 被 grafana-5.2.1-1.x86_64 須要
urw-fonts 被 grafana-5.2.1-1.x86_64 須要
執行命令:[root@localhost ~]# yum install fontconfig freetype* urw-fonts -y
後,再進行安裝
)
啓動
[root@jmeter ~]# service grafana-server start
Starting Grafana Server: ... [ OK ]
開啓3000訪問端口:
[root@bogon benben]# firewall-cmd --zone=public --add-port=3000/tcp --permanent
success
[root@bogon benben]# firewall-cmd --reload
success
瀏覽器訪問:http://IP:3000/login
grafana的默認用戶名密碼都是admin,第一次登陸會要求更改密碼
建立influxDB數據源
單擊save & Test,提示:data source is working,說明保存和鏈接成功
建立dashboard
新建Graph面板
數據綁定
選擇influxdb的數據源庫名,jmeter的相關表
定義顯示的名稱
保存數據模板
直接按ctrl+s或點擊保存按鈕
說明:想要了解這些監控都表明什麼意思,能夠訪問Jmeter的官網地址去查看閱讀「http://jmeter.apache.org/usermanual/realtime-results.html」
線程數/用戶相關指標 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模版
從Grafana官網下載相應的模板
官網模版庫:https://grafana.com/dashboards
搜索看板模版
下載:jmeter load test
下載的jar包複製到jmeter的/lib/ext下面
導入模板
加載模板文件,將下載的json文件打開,將源碼複製粘貼到第二個框中
選擇模板數據源
重啓jmeter,再添加一個後置處理器-Backend Listener,選擇rocks.nt.apm.jmeter.JMeterinfluxDBBackendListenerClient,輸入influxDB的host和端口,以前建立用戶名和密碼
壓測的效果圖
==============================================================================================================================================================================
以上爲centos系統上的安裝方法,如下爲ubuntu系統的安裝方法:
一、Influxdb下載和安裝:
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.4_amd64.deb (若是在線下載慢,能夠先下載到本機,再上傳到centos系統) sudo dpkg -i influxdb_1.2.4_amd64.deb
二、Grafana下載和安裝:
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.1.3_amd64.deb (若是在線下載慢,能夠先下載到本機,再上傳到centos系統) sudo apt-get install -y adduser libfontconfig sudo dpkg -i grafana_5.1.3_amd64.deb 啓動服務: sudo service grafana-server start
圖片和操做步驟轉自https://www.cnblogs.com/mike-liu/p/10080351.html博客,感謝!