二十五、JMeter實戰-JMeter-InfluxDB-Grafana性能測試監控平台


前言

性能測試工具 JMeter 自帶的監視器對性能測試結果的實時展示,在Windows系統下的GUI模式運行,渲染和效果不是太好,在linux環境下又無法實時可視化。
因此如果有一個性能測試結果實時展示的頁面,可以提高我們對系統性能表現的掌握程度,另一方面也提高了我們的測試效率。所以我們現在用InfluxDB+Grafana對性能結果進行實時監控,把JMeter的壓測結果寫入InfluxDB,然后通過Grafana展示出來。

一、InfluxDB簡介與安裝

1、InfluxDB簡介

InfluxDB 是用 Go 語言編寫的一個開源分布式時序、事件和指標數據庫,無需外部依賴。
類似的數據庫有 Elasticsearch、Graphite 等。

主要功能:
1)基於時間序列,支持與時間有關的相關函數(如最大,最小,求和等)
2)可度量性:你可以實時對大量數據進行計算
3)基於事件:它支持任意的事件數據

InfluxDB主要特點:

1)無結構(無模式):可以是任意數量的列
2)可拓展的
3)支持 min, max, sum, count, mean, median 等一系列函數,方便統計
4)原生的 HTTP 支持,內置HTTP API
5)強大的類 SQL 語法
6)自帶管理界面,方便使用

二、InfluxDB安裝

InfluxDB官方文檔:

https://docs.influxdata.com/influxdb/v1.6/

下載安裝包:

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm

下載完之后,直接就可以安裝

yum localinstall influxdb-1.7.0.x86_64.rpm

提示一下信息即表示安裝成功了

啟動 influxdb 數據庫:

service influxdb start

停止 influxdb 數據庫:

service influxdb stop

端口說明

8083:訪問 web 頁面的地址,8083 為默認端口;
8086:數據寫入 influxdb 的地址,8086 為默認端口;
8088:數據備份恢復地址,8088 為默認端口;

開啟防火牆:

firewall-cmd --add-port=8086/tcp --permanent
firewall-cmd --add-port=8086/udp --permanent 
firewall-cmd --reload

PS:如果你的服務器是阿里雲的話,在阿里雲控制台-安全組,開啟准入訪問的端口,不然訪問不了。

查看InfluxDB端口號:

``netstat -nultp```

提示沒找到命令。
解決辦法:

linux使用netstat或者ifconfig命令時,顯示命令未找到。

yum install net-tools

再重新查看端口號即可

三、Grafana介紹與安裝

Grafana 是一個跨平台的開源的度量分析和可視化工具,可以通過將采集的數據查詢然后可視化的展示,並及時通知。它主要有以下六大特點:

  • 1、展示方式:快速靈活的客戶端圖表,面板插件有許多不同方式的可視化指標和日志,官方庫中具有豐富的儀表盤插件,比如熱圖、折線圖、圖表等多種展示方式;
  • 2、數據源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
  • 3、通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算並發送通知,在數據達到閾值時通過Slack、PagerDuty等獲得通知;
  • 4、混合展示:在同一圖表中混合使用不同的數據源,可以基於每個查詢指定數據源,甚至自定義數據源;
  • 5、注釋:使用來自不同數據源的豐富事件注釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記;
  • 6、過濾器:Ad-hoc過濾器允許動態創建新的鍵/值過濾器,這些過濾器會自動應用於使用該數據源的所有查詢。

官方文檔:
https://grafana.com/docs/grafana/latest/

安裝Grafana

wget https://dl.grafana.com/oss/release/grafana-6.2.2-1.x86_64.rpm

下載完成進行安裝

yum localinstall grafana-6.2.2-1.x86_64.rpm

啟動 grafana 服務:
service grafana-server start

停止 grafana 服務:
service grafana-server stop

設置開機啟動:

systemctl enable grafana-server.service

啟動服務,打開瀏覽器,輸入IP+端口,3000為 Grafana 的默認偵聽端口。

注意一點就是先添加防火牆:

firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --add-port=3000/udp --permanent 
firewall-cmd --reload

默認賬號密碼:admin/admin

還記得前面說的原理嗎?InfluxDB數據庫存放數據---通過Grafana動態展示出來,那么數據從哪里來?so。。。配置JMeter

四、JMeter配置

在監聽器中添加后置監聽器

主要是配好url

五、InfluxDB配置

1)進入 InfluxDB 數據庫:influx

2)新建一個”jmetertest”數據庫:create database jmetertest

3)查看數據庫:show databases;

4)使用jmetertest數據庫:use jmetertest;

5)顯示表:show measurements;

有兩張表,我們主要看jmeter表

6)去 JMeter 中運行一個准備好的腳本,運行完在jmeter表中查看有沒有數據。

7)查看 JMeter 表:select * from jmeter;

數據出來了,那么配置Grafana,把這些數據動態展示出來。

六、配置Grafana

登錄 Grafana,進入首頁

1)創建一個數據源

2)選擇InfluxDB

3)填寫好以下信息,注意填寫正確

4)新建一個import

5)選擇4026模板

如果要其他模板,去儀表盤中選擇:

https://grafana.com/grafana/dashboards


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM