天天看點

jmeter+influxdb+grafana可視化監控接口測試

一、安裝influxdb

influxdb使用go語言編寫的小型資料庫

jmeter3.0+,以後backend listener 才對接influxDB.如下

jmeter+influxdb+grafana可視化監控接口測試

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

--no-check-certificate   不要驗證伺服器的證書。

下載下傳到目前目錄

jmeter+influxdb+grafana可視化監控接口測試

rpm -ivh influxdb-1.7.0.x86_64.rpm

解壓後存放在/etc配置檔案根目錄

jmeter+influxdb+grafana可視化監控接口測試

vi /etc/influxdb/influxdb.conf

修改如下,找到對應的位置,修改或者去掉注釋即可;

[[graphite]]

# Determines whether the graphite endpoint is enabled.

enabled = true

database = "jmeter" # 資料庫名稱

retention-policy = ""

bind-address = ":2003" # 端口

protocol = "tcp"

consistency-level = "one"

修改以下資訊

[meta]

dir = "/usr/local/influxdb/meta" #存放最終存儲的資料,檔案以.tsm結尾

[data]

dir = "/usr/local/influxdb/data" #存放資料庫中繼資料 wal

wal-dir = "/usr/local/influxdb/wal" #存放預寫日志檔案

修改HTTP端口資訊

[http]

# Determines whether HTTP endpoint is enabled.

# The bind address used by the HTTP service.

bind-address = ":8086"

jmeter+influxdb+grafana可視化監控接口測試

 在上一步中我們設定了存放資料的目錄為/usr/local/influxdb,這個目錄不會自動生成,是以需要手動建立并授權,執行指令如下:

 mkdir influxdb

jmeter+influxdb+grafana可視化監控接口測試

export INFLUXDB_CONFIG_PATH=/etc/influxdb/influxdb.conf

jmeter+influxdb+grafana可視化監控接口測試

方式一: 直接執行指令: influxd -config /etc/influxdb/influxdb.conf

jmeter+influxdb+grafana可視化監控接口測試

方式二:因為配置了環境變量,是以采用如下指令:influxd &

如果想要退出服務,輸入指令:ctrl+c

jmeter+influxdb+grafana可視化監控接口測試

建立資料庫

指令:influx啟動用戶端

然後檢視現有資料庫:show databases

jmeter+influxdb+grafana可視化監控接口測試

1.7 influxdb 建立新的資料庫

CREATE DATABASE jmeter:用來存儲jmeter運作時的腳本資料

CREATE DATABASE grafan:用來存放監控的名額資料

jmeter+influxdb+grafana可視化監控接口測試

 目前InfluxDB最新版為1.7,沒有web界面,1.2以後的版本就沒有了;

二、配置grafana

指令:yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.0.1-1.x86_64.rpm

jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試

指令:service grafana-server stop

jmeter+influxdb+grafana可視化監控接口測試

官網位址:https://grafana.com/grafana/download

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

然後執行安裝:sudo yum install grafana-7.5.4-1.x86_64.rpm

如果安裝後啟動報如下錯誤:Starting grafana-server (via systemctl):  Job for grafana-server.service failed because the control process exited with error code. See "systemctl status grafana-server.service" and "journalctl -xe" for details.

則需要删除安裝包,可能安裝包有沖突:

jmeter+influxdb+grafana可視化監控接口測試

 先檢視程式包是否安裝:

rpm -qa|grep grafana

jmeter+influxdb+grafana可視化監控接口測試

然後移除安裝包:yum -y remove grafana

則把舊版本和新版本安裝包都解除安裝了;

jmeter+influxdb+grafana可視化監控接口測試

重新執行安裝指令:sudo rpm -i --nodeps grafana-7.5.4-1.x86_64.rpm

啟動服務成功;

jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試

指令:/etc/init.d/grafana-server restart

jmeter+influxdb+grafana可視化監控接口測試

 浏覽器中輸入10.223.123.234:3000

端口号是預設的,ip就是安裝grafana的伺服器ip

賬号和密碼預設都是admin/admin

jmeter+influxdb+grafana可視化監控接口測試

點選頭像裡面的data source:建立資料源jmeter和grafana

配置如圖,是為了從influxdb的jmeter資料庫中擷取資料配置

注意:建立資料源選擇influxdb時,需要将influxd &啟動influxdb服務

jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試

【注意】URL的端口是8086,而剛才配置的8083是UI的端口。

    - 8083端口是InfluxDB的UI界面展示的端口

    - 8086端口是Grafana用來從資料庫取資料的端口

    - 2003端口則是剛剛設定的,Jmeter往資料庫發資料的端口

選擇dashboard菜單--》import進入一下界面:因為grafana中現成的成熟的監控面闆,引用即可;

jmeter+influxdb+grafana可視化監控接口測試

然後打開grafana官網jmeter監控dashboard的模闆連結

https://grafana.com/grafana/dashboards/5496

jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試

 然後點選import即可,然後點選右上角儲存按鈕,後續可以點選dashboard,在最近浏覽的記錄上找到

jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試

注意:如果想要了解這些監控都代表什麼意思,可以通路Jmeter的官網位址去檢視閱讀“http://jmeter.apache.org/usermanual/realtime-results.html”

service grafana-server stop

jmeter+influxdb+grafana可視化監控接口測試

3.配置jmeter

jmeter+influxdb+grafana可視化監控接口測試

初始化如下

jmeter+influxdb+grafana可視化監控接口測試

 需要改成:

jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試
jmeter+influxdb+grafana可視化監控接口測試

 transaction裡面是請求的接口

jmeter+influxdb+grafana可視化監控接口測試
上一篇: python 多線程

繼續閱讀