jmeter壓測實時監控平台
概述
本文我們将介紹如何使用
JMeter+InfluxDB+Grafana
打造壓測可視化實時監控。
[]()引言
我們很多時候在使用JMeter做性能測試,我們很難及時察看壓測過程中應用的性能狀況,總是需要等到測試完成後去看Report,如果是長時間壓測,比如壓測1~2天,那就更煩人了。
1、InfluxDB安裝
[root@sethnode1 ~]# rpm -ivh https://dl.influxdata.com/influxdb/releases/influxdb-1.6.2.x86_64.rpm
可能之前看過其他教程的就說,修改配置中的graphite,把2003端口起來。但是這裡不用graphite協定
我們用插件調用8086
啟動服務
[root@sethnode1 ~]# service influxdb restart
Redirecting to /bin/systemctl restart influxdb.service
[root@sethnode1 ~]# netstat -ntlp | grep 8086
tcp6 0 0 :::8086 :::* LISTEN 19301/influxd
[root@sethnode1 ~]#
[root@sethnode1 ~]# influx
Connected to http://localhost:8086 version 1.7.4
InfluxDB shell version: 1.7.4
Enter an InfluxQL query
> show databases
name: databases
name
----
_internal
> CREATE DATABASE "jmeter" #建立資料庫
> use jmeter #切換資料庫
Using database jmeter
> CREATE USER "admin" WITH PASSWORD 'admin' WITH ALL PRIVILEGES # 建立管理者權限的使用者
> show measurements #這裡暫時看不到任何表
>
2、JMeter配置
這裡偷懶調用的百度,用的固定定時器1秒1次
主要是後端監聽器
這裡testName和nodeName随便寫
influx的幾項配置就是之前我們配置的
其他不動
後段監聽器這裡添加的,如下圖
這裡還有個最重要的步驟
我們的插件
因為資料最後要通過grafana展示的,是以其實我們要用到grafana的别人寫的模版,模版裡面有插件的連結
https://grafana.com/dashboards搜尋jmeter
頁面有對jmeter和grafana和influxdb版本的要求和jar的下載下傳連結,和jar包要放的位置,寫的很詳細
一切準備好,開始壓測
3、執行壓測
我們檢視資料庫
> show measurements #之前看不到任何表
> show measurements #壓測後再次檢視
name: measurements
name
----
requestsRaw
testStartEnd
virtualUsers
>
當然這裡隻是表,看起來痛苦,我們最後的目的還是通過grafana展示出來,下面安裝grafana
4、安裝grafana
grafana的安裝其實也簡單
[root@sethnode1 ~]# rpm -ivh https://dl.grafana.com/oss/release/grafana-6.0.2-1.x86_64.rpm
[root@sethnode1 ~]# service grafana-server start
Starting grafana-server (via systemctl): [ OK ]
[root@sethnode1 ~]#
[root@sethnode1 ~]# netstat -ntlp | grep 3000
tcp6 0 0 :::3000 :::* LISTEN 19370/grafana-serve
[root@sethnode1 ~]#
5、grafana配置
預設賬号密碼admin,因為是首次登陸,是以還需要改密碼
點選skip或者儲存密碼,會跳轉到首頁
首頁顯示目前已經操作過的步驟和未操作的,這裡提示我們需要Add data source,添加一個資料源,
點選Add data source
點選儲存
點選home回到首頁
這裡提示我們還需要New dashboard,這裡我們不添加,直接導入模版
點選upload.jsonfile
選擇我們下載下傳的jmeter-load-test_rev5.json
點選import
這裡右上角時間選擇一下,就可以看到資料了
因為每5秒重新整理一次,是以每次Request count會一直加
如果請求 錯誤的,這裡也會顯示Error Rate