溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

發(fā)布時(shí)間:2021-07-13 14:24:16 來(lái)源:億速云 閱讀:222 作者:chen 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)”,在日常操作中,相信很多人在docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

目錄
  • 1、安裝docker

  • 2、安裝及配置influxDB

  • 3、Grafana安裝及配置

  • 4、Jmeter配置及壓測(cè)一個(gè)接口

背景:

在用jmeter壓測(cè)接口的時(shí)候發(fā)現(xiàn)其原生的監(jiān)控起來(lái)不是很友好,在網(wǎng)上查閱的時(shí)候發(fā)現(xiàn)結(jié)合influxDB和grafana,出來(lái)的報(bào)告很炫酷,監(jiān)聽(tīng)結(jié)果看起來(lái)很舒服很明了。

前言:

InfluxDB:是一款用Go語(yǔ)言編寫的開(kāi)源分布式時(shí)序數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)現(xiàn)在主要用于存儲(chǔ)涉及大量的時(shí)間戳數(shù)據(jù)。 小數(shù)據(jù)量的時(shí)候還性能還不錯(cuò),但是數(shù)據(jù)量大一點(diǎn),性能問(wèn)題就體現(xiàn)出來(lái)了。不過(guò)只是收集一下我?guī)讉€(gè)小時(shí)測(cè)試的數(shù)據(jù),還是足夠了。要是幾個(gè)月的測(cè)試數(shù)據(jù)那還是建議換其他的數(shù)據(jù)庫(kù)。

時(shí)序數(shù)據(jù)庫(kù):處理帶時(shí)間標(biāo)簽(按照時(shí)間的順序變化,即時(shí)間序列化)的數(shù)據(jù),帶時(shí)間標(biāo)簽的數(shù)據(jù)也稱為時(shí)間序列數(shù)據(jù)。想象它就像一個(gè)sql表,其中時(shí)間是它的主鍵

Grafana:是一個(gè)開(kāi)源軟件,擁有豐富的指標(biāo)儀表盤和圖形編輯器,適用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。簡(jiǎn)單點(diǎn)說(shuō)就是一套開(kāi)源WEB可視化平臺(tái)。

原理:

jmeter壓測(cè)生成測(cè)試數(shù)據(jù) --> 然后通過(guò)jmeter中的后端監(jiān)聽(tīng)異步將測(cè)試數(shù)據(jù)發(fā)送到influxDB中保存起來(lái) --> grafana通過(guò)拉取influxDB中的數(shù)據(jù),將測(cè)試結(jié)果的相關(guān)數(shù)據(jù)展示到儀表盤中

influxdb數(shù)據(jù)庫(kù)中的名詞理解


influxDB中的名詞傳統(tǒng)數(shù)據(jù)庫(kù)中的概念
database數(shù)據(jù)庫(kù)
measurement數(shù)據(jù)庫(kù)中的表
points表里面的一行數(shù)據(jù)

我是在ubuntu上部署的

1、安裝docker

由于apt官方庫(kù)里的docker版本可能比較舊,所以先卸載可能存在的舊版本:

sudo apt-get remove docker docker-engine docker-ce docker.io

更新apt包索引:

sudo apt-get update

安裝以下包以使apt可以通過(guò)HTTPS使用存儲(chǔ)庫(kù)(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)設(shè)置stable存儲(chǔ)庫(kù):

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

當(dāng)提示docker 版本就說(shuō)明docker安裝成功了

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

2、安裝及配置influxDB

2.1 docker下安裝influxDB 查看并拉取鏡像

##查看鏡像 
docker search influx 
 
## 根據(jù)鏡像名稱拉取鏡像 
docker pull tutum/influxdb

運(yùn)行鏡像并生成容器

## -d 讓服務(wù)后臺(tái)運(yùn)行,指令退出了,程序依舊運(yùn)行 
docker run -d --name jmeter-influx -p 8086:8086 tutum/influxdb

--name jmeter-influx:指定生成的容器的名稱為jmeter-influx,可根據(jù)自己情況自行起名

-p 8086:8086:指定端口映射,宿主機(jī)端口 : 容器端口

tutum/influxdb :鏡像名稱,可根據(jù)自己情況自行起名

查看容器是否生成成功

## 查看鏡像是否打成功 
docker images 
 
## 查看容器是否啟動(dòng)成功 
docker ps 
 
## 查看所有啟動(dòng)過(guò)的容,包括成功和失敗的 
docker ps -a

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

瀏覽器可訪問(wèn)地址:http://xxx.x.xxx.xxx:8086/ , 地址是服務(wù)器ip+映射的地址

頁(yè)面提示404,但是沒(méi)有無(wú)法訪問(wèn)即可

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

2.2 創(chuàng)建數(shù)據(jù)庫(kù)

##進(jìn)入Influxdb的Docker容器內(nèi) 
docker exec -it 容器id /bin/bash 
 
##打開(kāi)influx 
influx 
 
##查看數(shù)據(jù)庫(kù)并創(chuàng)建jmeter數(shù)據(jù)庫(kù) 
show databases; 
create database jmeter; 
show databases; 
use jmeter; 
select * from jmeter; 
exit;

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

3、Grafana安裝及配置

3.1 docker安裝grafana 查看并拉取鏡像

##查看鏡像 
docker search grafana 
 
## 根據(jù)鏡像名稱拉取鏡像 
docker pull grafana/grafana

運(yùn)行鏡像并生成容器

## 運(yùn)行鏡像并生成容器 
run -d --name my_grafana -p 3000:3000 grafana/grafana

3.2 Grafana中配置influxDB

瀏覽器通過(guò)訪問(wèn)網(wǎng)址 http://ip:端口,登錄用戶名和密碼都為admin

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

成功登陸后,添加數(shù)據(jù)源,我們這里選擇influxDB。我這已經(jīng)創(chuàng)建成功了一個(gè)名為influxDB_demo的數(shù)據(jù)源了

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

配置前面我們創(chuàng)建的influxDB的jmeter數(shù)據(jù)庫(kù)信息,并測(cè)試連接是否成功

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

至此,數(shù)據(jù)源配置成功成功了。因我已經(jīng)有一個(gè)了,這個(gè)就給刪除掉了

3.3 Grafana使用模板創(chuàng)建儀表盤

配置好了influxdb的數(shù)據(jù)源,那么就可以獲取到測(cè)試數(shù)據(jù),現(xiàn)在需要將獲取的數(shù)據(jù)展示出來(lái),這也是grafana圖形化的作用了

官網(wǎng)下載jmeter對(duì)應(yīng)的儀表盤模板

下載地址:https://grafana.com/grafana/dashboards

左右Data Source 選擇influxDB,然后可以根據(jù)名稱搜索一下jmeter就可以看到需要的插件了

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

grafana中導(dǎo)入模板

+ 號(hào) --> import --> upload JSON file -->選擇下載下來(lái)的jmeter插件,然后配置一下相關(guān)信息

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

name:儀表盤的名稱,自己定義即可

Folder:文件夾目錄,即這個(gè)儀表盤保存到哪個(gè)目錄下;默認(rèn)即可

DB name:前面配置的influxdb數(shù)據(jù)源

Measurement name:influxDB數(shù)據(jù)庫(kù)名稱

Backend send interval:間隔時(shí)間

配置好信息后,點(diǎn)擊【import】就可以看到儀表盤頁(yè)面了

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

4、Jmeter配置及壓測(cè)一個(gè)接口

在jmeter測(cè)試的一個(gè)接口中配置一個(gè)后端監(jiān)聽(tīng)器

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

配置這個(gè)監(jiān)聽(tīng)器

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

Backend Listener implementation:后端監(jiān)聽(tīng)器實(shí)現(xiàn)選擇帶有influxdb的

influxdbUrl:ip、端口和數(shù)據(jù)庫(kù)名稱修改為influxdb的ip和端口,以及對(duì)應(yīng)數(shù)據(jù)庫(kù)的名稱

jmeter中運(yùn)行這個(gè)接口后,查看grafana中對(duì)應(yīng)儀表盤中的數(shù)據(jù)

docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)

到此,關(guān)于“docker環(huán)境如何搭建JMeter+Grafana+influxdb可視化性能監(jiān)控平臺(tái)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI