借助Docker搭建JMeter+Grafana+Influxdb監控平臺的詳細教程
我們都知道Jmeter提供瞭原生的結果查看,既然有原生的查看結果,為什麼還要多此一舉使用其他工具進行查看呢,除瞭查看內容豐富外還有最主要的原因:
Jmeter提供的查看結果插件本身是比較消耗性能的,所以在正式壓測中應當禁用。但是我們又需要在腳本運行時實時查看結果,這時就需要借助外在工具實現。
除此之外,在真實壓測過程中還需要註意Jmeter圖形化模式隻適合調試使用,不要進行壓測。圖形化的壓測方式會消耗較多的客戶端性能,在壓測過程中容易因為客戶端問題導致內存溢出。官方也給出瞭提示通過命令行執行。執行命令:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
-n 表示在非 GUI 模式下運行 JMeter;
-t 表示要運行的 JMeter 測試腳本文件,一般是 jmx 結尾的文件;
-l 表示記錄結果的文件,默認以 jtl 結尾;-e 表示測試完成後生成測試報表;
-o 表示指定的生成結果文件夾位置。
實現原理
接下來詳解借助 docker 使用 InfluxDB 和 Grafana 搭建性能可視化監控平臺。
InfluxDB概念:InfluxDB是一款用Go語言編寫的開源分佈式時序、事件和指標數據庫,無需外部依賴。該數據庫現在主要用於存儲涉及大量的時間戳數據,如DevOps監控數據,APP metrics, loT傳感器數據和實時分析數據。
InfluxDB概念特點:
- 無結構(無模式):可以是任意數量的列;
- 可以設置metric的保存時間;
- 支持與時間有關的相關函數(如min、max、sum、count、mean、median等),方便統計;
- 支持存儲策略:可以用於數據的刪改。(influxDB沒有提供數據的刪除與修改方法);
- 支持連續查詢:是數據庫中自動定時啟動的一組語句,和存儲策略搭配可以降低InfluxDB的系統占用量;
- 原生的HTTP支持,內置HTTP API;
- 支持類似sql語法;
- 支持設置數據在集群中的副本數;
- 支持定期采樣數據,寫入另外的measurement,方便分粒度存儲數據。
Grafana概念:一個開源軟件,擁有豐富的指標儀表盤和圖形編輯器,適用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。簡單點說就是一套開源WEB可視化平臺。
JMeter引入Backend Listener將在壓測過程中實時發送統計指標數據發送到Influxdb數據庫,Grafana(開源的WEB可視化看板)數據源連接到Influxdb,創建可視化看板,並實時獲取到測試指標數據。
安裝InfluxDB
docker 下進行安裝
拉取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 pull grafana/grafana
運行容器:docker run –name my_grafana -p 3000:3000 grafana/grafana
訪問grafana:http://ip:3000
用戶名與密碼都是”admin”
進入後添加數據庫
進入後對數據庫進行配置
保存並且測試
配置展示模板
模板比較豐富,可以預覽進行查看,選擇合適的進行下載
下載地址:https://grafana.com/grafana/dashboards
下載json文件
準備導入
將下載下來的json文件導入之後即可。
設置完成後進入面板
在此可設置刷新頻率
配置Jmeter
創建Jmeter腳本。
設置後端監聽器
運行腳本後可查看結果
到此這篇關於借助Docker搭建JMeter+Grafana+Influxdb監控平臺的文章就介紹到這瞭,更多相關Docker搭建JMeter+Grafana+Influxdb監控平臺內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- docker環境搭建JMeter+Grafana+influxdb可視化性能監控平臺的教程
- SpringBoot可視化監控的具體應用
- 雲原生Docker創建並進入mysql容器的全過程
- 三款Docker圖形化工具優缺點對比
- 全網最全最細的jmeter接口測試教程以及接口測試流程(入門教程)