3種方式:JMeter+Grafana+Influxdb搭建可視化性能測試監控平台


用jmeter的朋友越來越多了,畢竟開源、免費、輕量,而且功能、自動化、性能,都能做,

最近不少朋友問JMeter+Grafana+Influxdb可視化性能測試監控平台搭建的問題,雖然網上資料不少,但是有些是錯的;

so,抽時間總結了常用的3種搭建方式,供大家參考;

方式一:運行自定義鏡像

方式二:docker方式安裝

方式三:rpm包方式安裝

建議通過雲服務器來練習:https://www.cnblogs.com/uncleyong/p/12694334.html

方式一:運行自定義鏡像

鏡像方式可以快速部署到不同的環境上搭建可視化性能測試監控平台,我們也可以自定義鏡像,參考:https://www.cnblogs.com/uncleyong/p/8894133.html

我已經自定義好了鏡像,大家直接pull下來,按如下方式操作即可;如果打鏡像或者運行過程中有問題,歡迎進Q群交流;

下面我簡單介紹下pull下來如何使用。

 

拉取:docker pull registry.cn-hangzhou.aliyuncs.com/qzcsbj/qzcsbj-influxdb_grafana:v1.0

 

運行容器:docker run -tid --name qzcsbj-influxdb_grafana -p 4000:3000  -p 9086:8086 --privileged=true 9756039ba6b4 /sbin/init

 

 

已經創建了數據庫jemter,如果你要重新創建,進入容器:docker exec -it qzcsbj-influxdb_grafana /bin/bash

influx
show databases;
create database jmeter;
show databases;
use xxx;
exit;

訪問grafana:http://ip:4000,登錄:admin/admin

 

 跳過

 

 

 

 

添加數據源

 

 

 

 

選擇數據源為InfluxDB

 

 

配置

 

配置數據寫庫的頻率

 

 測試數據源是否ok

 

 成功

 

 可以修改數據源

 

 

下載模板

https://grafana.com/grafana/dashboards

搜索

 

 

或者直接訪問:https://grafana.com/grafana/dashboards?dataSource=influxdb&direction=asc&orderBy=name&search=jmeter

 

 

導入json模板:

 

 

 

 

 

 

修改為下面配置,然后點擊“Import”

 

 

 

 

  

 

 

 

 

 修改模板

 

 

可以刪除

 

 下面展示的不是我們設置的值,是定義描述

 

 

so,如果要修改,建議刪除后,重新導入模板,修改參數值

jmeter壓測效果展示

jmeter腳本

 

效果圖:

 

 

示例配置2:

summaryOnly:線程組有多個請求,展示明細,值改為false 

 

 

 

transaction勾選HTTP請求1

 

 

 

因為上面transaction勾選的HTTP請求1

 

 

 

模板還很多配置,感興趣的可以深入研究下。 

 

方式二:docker方式安裝

和方式一類似,只是你需要自己拉取多個鏡像

建議通過雲服務器來練習:https://www.cnblogs.com/uncleyong/p/12694334.html

前提:

  安裝docker,參考:https://www.cnblogs.com/uncleyong/p/8894133.html

安裝influxdb

搜索influx:docker search influx

拉取influxdb鏡像:docker pull influxdb

運行influxdb容器:docker run --name my_influxdb -p 8086:8086 influxdb

進入容器:docker exec -it 容器id /bin/bash

創建數據庫jmeter

influx
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
exit;

  

 

 

安裝grafana

搜索grafana:docker search grafana

拉取grafana鏡像:docker pull grafana/grafana

運行容器:docker run --name my_grafana -p 3000:3000 grafana/grafana

 

配置

(請參考方式一的截圖)

訪問grafana:http://ip:3000 

登錄:admin/admin 

添加、配置、測試數據源

下載模板:https://grafana.com/grafana/dashboards?dataSource=influxdb&direction=asc&orderBy=name&search=jmeter

導入json模板

jmeter壓測效果展示

(請參考方式一的截圖)

jmeter腳本

效果圖

 

方式三:rpm包方式安裝

influxdb下載、安裝、配置、啟動

InfluxDB是一個當下比較流行的時序數據庫,InfluxDB使用 Go 語言編寫,無需外部依賴,安裝配置非常方便,適合構建大型分布式系統的監控系統。

下載:wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.1.x86_64.rpm 

安裝:yum localinstall influxdb-1.7.1.x86_64.rpm

配置:vim /etc/influxdb/influxdb.conf,搜索:graphite

/graphite

改為:

2003是jmeter往數據庫發數據的端口

注意,后端監聽器要用下面這個,才配置上面

 

 

啟動:systemctl start influxdb

查看狀態:systemctl status influxdb.service

 

查看服務,默認啟動了三個端口,分別是:8088,2003,8086 

 

其中,我們要用到的8086是Grafana從數據庫獲取數據的端口

下面也可以配置數據庫認證

 

 

命令行方式進入數據庫

 

創建數據庫jmeter

 

再創建一個jmeter2

 

查看創建的數據庫

 

查詢數據

 

 

創建jmeter腳本

 

 

 

  

influxdbUrl :http://ip:8086/write?db=jmeter

ip寫安裝influxdb服務的ip地址+端口

db指定數據庫jmeter

application名稱自定義,后面grafana會用到

jmeter中添加請求運行, 執行的數據就會記錄到influxDB

 

下面腳本運行一次

 

 

 

 

有數據就說明jmeter入庫成功。 

 

Grafana下載、安裝、配置

下載:官網https://grafana.com/,或者用命令下載:wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3-1.x86_64.rpm

安裝:yum localinstall grafana-4.6.3-1.x86_64.rpm

配置:vim /etc/grafana/grafana.ini

端口默認是3000

 

啟動:systemctl start grafana-server,或者systemctl start grafana-server.service

查看狀態:systemctl status grafana-server,或者systemctl status grafana-server.service

 

瀏覽器訪問Grafana首頁:ip:3000,賬號/密碼默認是admin/admin

 

創建用戶

 

 

輸入用戶名、郵箱、登錄名、登錄密碼

 

 

如果這個賬號登錄,test/test,下面展示用戶名

 

再創建一個用戶:qzcsbj2

賬號密碼:test2/test2

 

 

配置數據源 

 

 

 

創建用戶qzcsbj的數據源,名稱就用用戶名,對應的數據庫是jmeter

 

 

創建用戶qzcsbj2的數據源,名稱就用用戶名,對應的數據庫是jmeter2

 

 

為qzcsbj用戶添加模板

導入模板

 

下載模板:https://grafana.com/grafana/dashboards?dataSource=influxdb

https://grafana.com/grafana/dashboards?dataSource=influxdb&search=jmeter

 

復制id5496

 

 

填寫模板id:5496,然后點擊“Load”

 

 

選擇數據源

 

可以看到我們創建的兩個數據源

 

選擇第一個數據源,另外,下面間隔時間可以改為1s

 

 

 

但是,並沒有顯示模板(暫時懷疑是版本問題)

 

 

不要的可以刪除

 

 

4026

 

 

 

 

為qzcsbj2用戶添加模板

jmeter2為數據庫

 

 

用戶qzcsbj的腳本,5u5min

 

 

 

用戶qzcsbj2的腳本,3u5min

 

下面jmeter2不是數據,是添加模板的measurement名稱,需要匹配

 

先把數據庫jmeter和jmeter2的數據清了,然后上面兩份腳本分別發一筆請求 

下面jmeter是measurement名稱

 

下面jmeter2是measurement名稱

 

第一份腳本場景是:5u5min

第一份腳本場景是:3u5min

運行完成后,

用戶qzcsbj看到的

 

聚合報告845筆,加上最剛剛發的1筆,總共就是846

 

 

用戶qzcsbj2看到的

 

聚合報告509筆,加上最剛剛發的1筆,總共就是510

 

自定義

 

 

 

點擊【Graph】

 

點擊【Edit】

 

修改名稱

 

選擇數據庫

 

 

 

 

 

 

總結

其實,很多測試朋友喜歡這個監控,是因為炫酷,可以在領導面前裝逼,出個很炫的報告,

我覺得真正性能監控分析,用這個沒啥卵用(個人觀點,只能做一個全局的監控,看到的都是表象,其實,我用命令也都能看到這些指標,最終都是需要定向監控分析,找出問題),

總之我不喜歡用,喜歡原生的命令監控,so,模板配置,感興趣的自己研究下,之所以寫這篇,也是總結下大家的疑問,

當然,如果你出去面試,可以把這個拿出去吹一下,畢竟工作不好找。

 

有朋友問我用的什么監控?

根據項目技術架構,如果是微服務,公司有類似skywalking的鏈路級監控平台;非微服務,我個人喜歡用命令或者寫shell;

還是那句話:沒有絕對的好與不好,做性能,能發現性能瓶頸就好,能保證穩定運行就ok。


免責聲明!

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



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