背景:
在用jmeter壓測接口的時(shí)候發(fā)現其原生的監控起來(lái)不是很友好,在網(wǎng)上查閱的時(shí)候發(fā)現結合influxDB和grafana,出來(lái)的報告很炫酷,監聽(tīng)結果看起來(lái)很舒服很明了。
前言:
InfluxDB:是一款用Go語(yǔ)言編寫(xiě)的開(kāi)源分布式時(shí)序數據庫。該數據庫現在主要用于存儲涉及大量的時(shí)間戳數據。 小數據量的時(shí)候還性能還不錯,但是數據量大一點(diǎn),性能問(wèn)題就體現出來(lái)了。不過(guò)只是收集一下我幾個(gè)小時(shí)測試的數據,還是足夠了。要是幾個(gè)月的測試數據那還是建議換其他的數據庫。
時(shí)序數據庫:處理帶時(shí)間標簽(按照時(shí)間的順序變化,即時(shí)間序列化)的數據,帶時(shí)間標簽的數據也稱(chēng)為時(shí)間序列數據。想象它就像一個(gè)sql表,其中時(shí)間是它的主鍵
Grafana:是一個(gè)開(kāi)源軟件,擁有豐富的指標儀表盤(pán)和圖形編輯器,適用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。簡(jiǎn)單點(diǎn)說(shuō)就是一套開(kāi)源WEB可視化平臺。
原理:
jmeter壓測生成測試數據 --> 然后通過(guò)jmeter中的后端監聽(tīng)異步將測試數據發(fā)送到influxDB中保存起來(lái) --> grafana通過(guò)拉取influxDB中的數據,將測試結果的相關(guān)數據展示到儀表盤(pán)中
influxdb數據庫中的名詞理解
我是在ubuntu上部署的
由于apt官方庫里的docker版本可能比較舊,所以先卸載可能存在的舊版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt包索引:
sudo apt-get update
安裝以下包以使apt可以通過(guò)HTTPS使用存儲庫(repository):
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker官方的GPG密鑰:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用下面的命令來(lái)設置stable存儲庫:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
再更新一下apt包索引:
sudo apt-get update
安裝最新版本的Docker CE:
sudo apt-get install -y docker-ce
檢查docker是否安裝完成:
docker --version
當提示docker 版本就說(shuō)明docker安裝成功了
2.1 docker下安裝influxDB 查看并拉取鏡像
##查看鏡像 docker search influx ## 根據鏡像名稱(chēng)拉取鏡像 docker pull tutum/influxdb
運行鏡像并生成容器
## -d 讓服務(wù)后臺運行,指令退出了,程序依舊運行 docker run -d --name jmeter-influx -p 8086:8086 tutum/influxdb
--name jmeter-influx:指定生成的容器的名稱(chēng)為jmeter-influx,可根據自己情況自行起名
-p 8086:8086:指定端口映射,宿主機端口 : 容器端口
tutum/influxdb :鏡像名稱(chēng),可根據自己情況自行起名
查看容器是否生成成功
## 查看鏡像是否打成功 docker images ## 查看容器是否啟動(dòng)成功 docker ps ## 查看所有啟動(dòng)過(guò)的容,包括成功和失敗的 docker ps -a
瀏覽器可訪(fǎng)問(wèn)地址:http://xxx.x.xxx.xxx:8086/ , 地址是服務(wù)器ip+映射的地址
頁(yè)面提示404,但是沒(méi)有無(wú)法訪(fǎng)問(wèn)即可
2.2 創(chuàng )建數據庫
##進(jìn)入Influxdb的Docker容器內 docker exec -it 容器id /bin/bash ##打開(kāi)influx influx ##查看數據庫并創(chuàng )建jmeter數據庫 show databases; create database jmeter; show databases; use jmeter; select * from jmeter; exit;
3.1 docker安裝grafana 查看并拉取鏡像
##查看鏡像 docker search grafana ## 根據鏡像名稱(chēng)拉取鏡像 docker pull grafana/grafana
運行鏡像并生成容器
## 運行鏡像并生成容器 run -d --name my_grafana -p 3000:3000 grafana/grafana
3.2 Grafana中配置influxDB
瀏覽器通過(guò)訪(fǎng)問(wèn)網(wǎng)址 http://ip:端口,登錄用戶(hù)名和密碼都為admin
成功登陸后,添加數據源,我們這里選擇influxDB。我這已經(jīng)創(chuàng )建成功了一個(gè)名為influxDB_demo的數據源了
配置前面我們創(chuàng )建的influxDB的jmeter數據庫信息,并測試連接是否成功
至此,數據源配置成功成功了。因我已經(jīng)有一個(gè)了,這個(gè)就給刪除掉了
3.3 Grafana使用模板創(chuàng )建儀表盤(pán)
配置好了influxdb的數據源,那么就可以獲取到測試數據,現在需要將獲取的數據展示出來(lái),這也是grafana圖形化的作用了
官網(wǎng)下載jmeter對應的儀表盤(pán)模板
下載地址:https://grafana.com/grafana/dashboards
左右Data Source 選擇influxDB,然后可以根據名稱(chēng)搜索一下jmeter就可以看到需要的插件了
grafana中導入模板
+ 號 --> import --> upload JSON file -->選擇下載下來(lái)的jmeter插件,然后配置一下相關(guān)信息
name:儀表盤(pán)的名稱(chēng),自己定義即可
Folder:文件夾目錄,即這個(gè)儀表盤(pán)保存到哪個(gè)目錄下;默認即可
DB name:前面配置的influxdb數據源
Measurement name:influxDB數據庫名稱(chēng)
Backend send interval:間隔時(shí)間
配置好信息后,點(diǎn)擊【import】就可以看到儀表盤(pán)頁(yè)面了
在jmeter測試的一個(gè)接口中配置一個(gè)后端監聽(tīng)器
配置這個(gè)監聽(tīng)器
Backend Listener implementation:后端監聽(tīng)器實(shí)現選擇帶有influxdb的
influxdbUrl:ip、端口和數據庫名稱(chēng)修改為influxdb的ip和端口,以及對應數據庫的名稱(chēng)
jmeter中運行這個(gè)接口后,查看grafana中對應儀表盤(pán)中的數據
到此這篇關(guān)于docker環(huán)境搭建JMeter+Grafana+influxdb可視化性能監控平臺的教程的文章就介紹到這了,更多相關(guān)docker搭建可視化性能監控平臺內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站