借助Docker搭建JMeter+Grafana+Influxdb監(jiān)控平臺(tái)的詳細(xì)教程
我們都知道Jmeter提供了原生的結(jié)果查看,既然有原生的查看結(jié)果,為什么還要多此一舉使用其他工具進(jìn)行查看呢,除了查看內(nèi)容豐富外還有最主要的原因:
Jmeter提供的查看結(jié)果插件本身是比較消耗性能的,所以在正式壓測(cè)中應(yīng)當(dāng)禁用。但是我們又需要在腳本運(yùn)行時(shí)實(shí)時(shí)查看結(jié)果,這時(shí)就需要借助外在工具實(shí)現(xiàn)。
除此之外,在真實(shí)壓測(cè)過(guò)程中還需要注意Jmeter圖形化模式只適合調(diào)試使用,不要進(jìn)行壓測(cè)。圖形化的壓測(cè)方式會(huì)消耗較多的客戶端性能,在壓測(cè)過(guò)程中容易因?yàn)榭蛻舳藛?wèn)題導(dǎo)致內(nèi)存溢出。官方也給出了提示通過(guò)命令行執(zhí)行。執(zhí)行命令:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
-n 表示在非 GUI 模式下運(yùn)行 JMeter;
-t 表示要運(yùn)行的 JMeter 測(cè)試腳本文件,一般是 jmx 結(jié)尾的文件;
-l 表示記錄結(jié)果的文件,默認(rèn)以 jtl 結(jié)尾;-e 表示測(cè)試完成后生成測(cè)試報(bào)表;
-o 表示指定的生成結(jié)果文件夾位置。
實(shí)現(xiàn)原理
接下來(lái)詳解借助 docker 使用 InfluxDB 和 Grafana 搭建性能可視化監(jiān)控平臺(tái)。
InfluxDB概念:InfluxDB是一款用Go語(yǔ)言編寫(xiě)的開(kāi)源分布式時(shí)序、事件和指標(biāo)數(shù)據(jù)庫(kù),無(wú)需外部依賴。該數(shù)據(jù)庫(kù)現(xiàn)在主要用于存儲(chǔ)涉及大量的時(shí)間戳數(shù)據(jù),如DevOps監(jiān)控?cái)?shù)據(jù),APP metrics, loT傳感器數(shù)據(jù)和實(shí)時(shí)分析數(shù)據(jù)。
InfluxDB概念特點(diǎn):
- 無(wú)結(jié)構(gòu)(無(wú)模式):可以是任意數(shù)量的列;
- 可以設(shè)置metric的保存時(shí)間;
- 支持與時(shí)間有關(guān)的相關(guān)函數(shù)(如min、max、sum、count、mean、median等),方便統(tǒng)計(jì);
- 支持存儲(chǔ)策略:可以用于數(shù)據(jù)的刪改。(influxDB沒(méi)有提供數(shù)據(jù)的刪除與修改方法);
- 支持連續(xù)查詢:是數(shù)據(jù)庫(kù)中自動(dòng)定時(shí)啟動(dòng)的一組語(yǔ)句,和存儲(chǔ)策略搭配可以降低InfluxDB的系統(tǒng)占用量;
- 原生的HTTP支持,內(nèi)置HTTP API;
- 支持類(lèi)似sql語(yǔ)法;
- 支持設(shè)置數(shù)據(jù)在集群中的副本數(shù);
- 支持定期采樣數(shù)據(jù),寫(xiě)入另外的measurement,方便分粒度存儲(chǔ)數(shù)據(jù)。
Grafana概念:一個(gè)開(kāi)源軟件,擁有豐富的指標(biāo)儀表盤(pán)和圖形編輯器,適用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。簡(jiǎn)單點(diǎn)說(shuō)就是一套開(kāi)源WEB可視化平臺(tái)。
JMeter引入Backend Listener將在壓測(cè)過(guò)程中實(shí)時(shí)發(fā)送統(tǒng)計(jì)指標(biāo)數(shù)據(jù)發(fā)送到Influxdb數(shù)據(jù)庫(kù),Grafana(開(kāi)源的WEB可視化看板)數(shù)據(jù)源連接到Influxdb,創(chuàng)建可視化看板,并實(shí)時(shí)獲取到測(cè)試指標(biāo)數(shù)據(jù)。
安裝InfluxDB
docker 下進(jìn)行安裝
拉取influxdb鏡像:docker pull influxdb
運(yùn)行influxdb容器:docker run --name my_influxdb -p 8086:8086 influxdb
進(jìn)入容器:docker exec -it 容器id /bin/bash
創(chuàng)建數(shù)據(jù)庫(kù) jmeter
influx show databases; create database jmeter; show databases; use jmeter; select * from jmeter; exit;
安裝Grafana
拉取grafana鏡像:docker pull grafana/grafana
運(yùn)行容器:docker run --name my_grafana -p 3000:3000 grafana/grafana
訪問(wèn)grafana:http://ip:3000
用戶名與密碼都是"admin"
進(jìn)入后添加數(shù)據(jù)庫(kù)
進(jìn)入后對(duì)數(shù)據(jù)庫(kù)進(jìn)行配置
保存并且測(cè)試
配置展示模板
模板比較豐富,可以預(yù)覽進(jìn)行查看,選擇合適的進(jìn)行下載
下載地址:https://grafana.com/grafana/dashboards
下載json文件
準(zhǔn)備導(dǎo)入
將下載下來(lái)的json文件導(dǎo)入之后即可。
設(shè)置完成后進(jìn)入面板
在此可設(shè)置刷新頻率
配置Jmeter
創(chuàng)建Jmeter腳本。
設(shè)置后端監(jiān)聽(tīng)器
運(yùn)行腳本后可查看結(jié)果
到此這篇關(guān)于借助Docker搭建JMeter+Grafana+Influxdb監(jiān)控平臺(tái)的文章就介紹到這了,更多相關(guān)Docker搭建JMeter+Grafana+Influxdb監(jiān)控平臺(tái)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker搭建prometheus(普羅米修斯)的方法步驟
phometheus:當(dāng)前一套非常流行的開(kāi)源監(jiān)控和報(bào)警系統(tǒng),本文主要介紹了Docker搭建prometheus(普羅米修斯)的方法步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1)
這篇文章主要介紹了本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03docker?ps容器未顯示的問(wèn)題以及排查過(guò)程詳解
這篇文章主要給大家介紹了關(guān)于docker?ps容器未顯示的問(wèn)題以及排查過(guò)程的相關(guān)資料,相信各位在使用docker容器的時(shí)候,經(jīng)常docker run -d后臺(tái)運(yùn)行后,使用docker ps的時(shí)候發(fā)現(xiàn)這個(gè)容器顯示不到,這里給大家介紹下,需要的朋友可以參考下2023-09-09Docker 容器互聯(lián)互通的實(shí)現(xiàn)方法
這篇文章主要介紹了Docker 容器互聯(lián)互通,本文講解不同網(wǎng)絡(luò)下的容器可以通過(guò)加入同一個(gè)docker網(wǎng)絡(luò),來(lái)訪問(wèn)該docker網(wǎng)絡(luò)下的容器,并且既可以通過(guò)容器ip也可以通過(guò)容器名連接,非常方便,需要的朋友可以參考下2022-10-10docker 設(shè)置windows存儲(chǔ)路徑的操作
這篇文章主要介紹了docker 設(shè)置windows存儲(chǔ)路徑的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Docker Elasticsearch集群部署的操作過(guò)程
這篇文章主要介紹了Docker Elasticsearch集群部署的操作過(guò)程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03Rancher無(wú)法添加主機(jī)問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于Rancher無(wú)法添加主機(jī)問(wèn)題的解決方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-06-06安裝Docker Desktop報(bào)錯(cuò)WSL 2 installation is incomplete的問(wèn)題(解決報(bào)錯(cuò))
這篇文章主要介紹了安裝Docker Desktop報(bào)錯(cuò)WSL 2 installation is incomplete的問(wèn)題,解決方法很簡(jiǎn)單只需我們自己手動(dòng)更新一下,我們根據(jù)提示去微軟官網(wǎng)下載最新版的wsl2安裝后即可正常打開(kāi),需要的朋友可以參考下2021-06-06如何解決mysql配置文件錯(cuò)誤導(dǎo)致在docker中無(wú)法啟動(dòng)的問(wèn)題
這篇文章主要介紹了如何解決mysql配置文件錯(cuò)誤導(dǎo)致在docker中無(wú)法啟動(dòng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Docker容器無(wú)法被stop or kill問(wèn)題的解決方法
這篇文章主要介紹了Docker容器無(wú)法被stop or kill問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09