Docker+Jmeter+InfluxDB+Grafana 搭建性能監(jiān)控平臺

1. 為什么要搭建性能監(jiān)控平臺娩践?

1.1 需求背景

在用Jmeter獲取性能測試結果的時候害碾,Jmeter本身帶有聚合報告如下圖所示:

這個報告有幾個很明顯的缺點:

只能自己看,無法實時共享搬素;

報告信息的展示比較簡陋單一,不直觀;

1.2 需求方案

為了解決上述問題锌蓄,必須要請出了?InfluxDB+Grafana:

InfluxDB:持續(xù)型數據庫,有時間戳組件撑柔,以時間的形式去存儲數據

Grafana:一款采用 Go 語言編寫的開源應用瘸爽,主要用于大規(guī)模指標數據的可視化展現(xiàn),是網絡架構和應用分析中最流行的時序數據展示工具

簡單總結起來就是:將?Jmeter?的數據導入?InfluxDB铅忿,再用?Grafana?從?InfluxDB?中獲取數據并以特定的模板進行展示

本次實踐是用目前較為流行的 Docker 的方式進行部署剪决,也推薦使用,作為一名普通的測試,會了點 Docker 的皮毛就已經愛不釋手了柑潦,對于頭疼的環(huán)境問題真的太好用了享言,強烈推薦。


2渗鬼、性能監(jiān)控平臺部署實踐

2.1 Docker環(huán)境

本文的重點并不是介紹 Docker览露,所以不了解的小伙伴需要自己去學習一下基本的安裝和操作,可參考之前發(fā)送的?Docker 文章譬胎。

2.2 InfluxDB部署

1)首先去下載InfluxDB的鏡像差牛,下載很簡單,直接pull就好堰乔,默認為下載最新的鏡像:

$docker pull influxdb

目前最新的influxdb不支持網頁端的查看多糠,僅可用命令行的形式,不過沒有什么影響浩考,如果真的想要有網頁端的顯示的話可以嘗試下載較前的鏡像:tutum/influxdb

2)啟動一個容器夹孔,并將端口8083和8086映射出來,如果用的是tutum/influxdb鏡像析孽,在訪問8083端口時就可以看到網頁端的展示,我這里用的是最新的搭伤,所以就沒有啦:

$docker run -d --name jmeter-influx -p 8083:8083 -p 8086:8086 influxdb

3)進入容器內部,創(chuàng)建名為jmeter的數據庫:

進入jmeter-influx容器

$ docker exec -it jmeter-influx bashroot@517f57017d99:/#

進入influx袜瞬,create database jmeter創(chuàng)建名為jmeter的數據庫,show databases命令查看數據庫創(chuàng)建成功

root@517f57017d99:/# influxConnected to http://localhost:8086 version 1.7.10InfluxDB shell version: 1.7.10> create database jmeter> show databasesname: databasesname----_internaljmeter

4)使用 Jmeter?庫怜俐,select?查看數據,這個時候應該是沒有數據的:

$ > use jmeterUsing database jmeter> select * from jmeter>

2.3 Jmeter腳本設置

這里需要創(chuàng)建一個登錄注冊場景的Jmeter腳本,往期文章有發(fā)布邓尤,本次就以此來進行測試結果演示拍鲤。具體可參考之前發(fā)送的公眾號文章。文章末尾的「往期回顧」第二篇文章即可閱讀汞扎。

1)想要將jmeter的測試數據導入influxDB季稳,就需要在Jmeter中使用Backend Listener配置

先看一下配置好的Backend Listener:

2)主要配置說明:

implementation選擇influxdb所對應的:

influxdbUrl:需要改為自己influxdb的部署ip和映射端口,我這里是部署在本地澈魄,所以就是localhost,端口是容器啟動時映射的8086端口景鼠,db后面跟的是剛才創(chuàng)建的數據庫名稱

application:可根據需要自由定義,只是注意后面在grafana中選對即可

measurement:表名痹扇,默認是jmeter铛漓,也可以自定義

summaryOnly:選擇true的話就只有總體的數據,false會將每個transaction都分別記錄

3)運行驗證

運行

Jmeter腳本鲫构,然后再次在influxdb中查看數據浓恶,發(fā)現(xiàn)類似下面的數據說明輸入導入成功:

2.4、Grafana部署

1)首先我們需要下載grafana的鏡像:

$ docker pull grafana/grafana

2)啟動一個grafana容器,將3000端口映射出來:

$ docker run -d --name grafana -p 3000:3000 grafana/grafana

3)網頁端訪問locahost:3000驗證部署成功

4)選擇添加數據源

5)找到并選擇influxdb:

6)配置數據源

數據源創(chuàng)建成功時會有綠色的提示:

7)導入模板

模板導入分別有以下3種方式:

直接輸入模板id號

直接上傳模板json文件

直接輸入模板json內容

8)下載模板结笨,在grafana的官網下載我們需要的展示模板

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

下面這兩個是我嘗試過的模板:

9)導入模板包晰,我這里選擇的是導入json文件的方式昂秃,導入后如下,配置好模板名稱和對應的數據源杜窄,然后import即可

10)展示設置肠骆,首先選擇我們創(chuàng)建的application

注意:如果我們修改過表名,也就是在jmeter的Backend Listener的measurement配置(默認為jmeter)塞耕,這個時候就需要去設置中進行修改(我這里使用的就是默認的蚀腿,所以無需修改):

3. 效果展示及推薦學習

經過一系列的奮斗之后,該到了我們檢驗成果的時候了扫外。使用 Docker + JMeter + InfluxDB + Grafana 到底可以搭建怎樣的性能監(jiān)控平臺呢莉钙?相比較 JMeter 自帶的監(jiān)控平臺,我們搭建的性能監(jiān)控平臺究竟有什么優(yōu)勢呢筛谚?接下來就是展示成果的時候啦磁玉!

Appium 官方說明文檔:

http://appium.io/docs/en/writing-running-appium/finding-elements/

http://appium.io/docs/en/commands/element/find-elements/

Uiautomator2 源碼路徑:

https://github.com/appium/appium-uiautomator2-server/blob/master/app/src/main/java/io/appium/uiautomator2/handler/FindElement.java

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市驾讲,隨后出現(xiàn)的幾起案子蚊伞,更是在濱河造成了極大的恐慌,老刑警劉巖吮铭,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件时迫,死亡現(xiàn)場離奇詭異,居然都是意外死亡谓晌,警方通過查閱死者的電腦和手機掠拳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纸肉,“玉大人溺欧,你說我怎么就攤上這事“胤荆” “怎么了姐刁?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長预吆。 經常有香客問我龙填,道長胳泉,這世上最難降的妖魔是什么拐叉? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮扇商,結果婚禮上凤瘦,老公的妹妹穿的比我還像新娘。我一直安慰自己案铺,他們只是感情好蔬芥,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般笔诵。 火紅的嫁衣襯著肌膚如雪返吻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天乎婿,我揣著相機與錄音测僵,去河邊找鬼。 笑死谢翎,一個胖子當著我的面吹牛捍靠,可吹牛的內容都是我干的。 我是一名探鬼主播森逮,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼榨婆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了褒侧?” 一聲冷哼從身側響起良风,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎闷供,沒想到半個月后拖吼,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡这吻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年吊档,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唾糯。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡怠硼,死狀恐怖,靈堂內的尸體忽然破棺而出移怯,到底是詐尸還是另有隱情香璃,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布舟误,位于F島的核電站葡秒,受9級特大地震影響,放射性物質發(fā)生泄漏嵌溢。R本人自食惡果不足惜眯牧,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赖草。 院中可真熱鬧学少,春花似錦、人聲如沸秧骑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绒疗,卻和暖如春侵歇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吓蘑。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工盒至, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人士修。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓枷遂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親棋嘲。 傳聞我的和親對象是個殘疾皇子酒唉,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容