性能測試之grafana展示jmeter測試指標與主機監控
背景
? 公司新的項目準備開展性能測試,之前性能監控主要使用的jmeter的插件jp@gc-Transactions per Second 與 jp@gc- Response Times Over Time 與 jp@gc - Active Threads Over Time等等插件監控性能指標結果,PerfMon Metrics Collector與ServerAgent監控服務器的性能指標.
? 本次的方案決定使用grafana展示.具體使用Prometheus監控主機資源情況, influxdb接收jmeter腳本執行信息.所有的圖表都可以使用grafana的模版來展示.
? 本次是第一次使用,有不足之處后續再調整吧.
? 廢話稍多,開整…
一 安裝部署Prometheus
步驟 1: 下載 Prometheus
-
訪問 Prometheus 官方下載頁面。
-
根據你的操作系統選擇對應的版本進行下載。這里以 Linux 系統為例。
-
下載后,解壓文件:
tar -xvf prometheus-*.tar.gz
步驟 2: 配置 Prometheus
-
在解壓后的目錄中,你會看到
prometheus.yml
文件,這個文件是 Prometheus 的配置文件,你可以根據需要進行修改。 -
打開
prometheus.yml
,可以看到默認的配置如下:global:scrape_interval: 15s # 默認每 15 秒抓取一次數據scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']
這里的配置表示 Prometheus 會定期從
localhost:9090
(即 Prometheus 本身)抓取指標數據。
步驟 3: 啟動 Prometheus
-
在解壓后的目錄中,可以找到
prometheus
可執行文件。通過以下命令啟動 Prometheus:
nohup ./prometheus --config.file=prometheus.yml
-
啟動后,Prometheus 會監聽
9090
端口,你可以通過瀏覽器訪問http://localhost:9090
來查看 Prometheus 的 Web UI。
二 部署Node Exporter
部署 Node Exporter 主要是為了監控和收集機器的系統指標,比如 CPU 使用率、內存使用、磁盤 I/O、網絡流量等。這些數據可以被 Prometheus 用來采集。
1. 下載 Node Exporter
首先,你需要從 Prometheus Node Exporter GitHub 頁面 下載適合你操作系統的 Node Exporter 版本。
例如,在 Linux 系統上,可以使用 wget 或 curl 下載最新的 tar.gz 包。
wget https://github.com/prometheus/node_exporter/releases/download/v1.9.0/nnode_exporter-1.9.0.linux-amd64.tar.gz
2. 解壓文件
下載完成后,解壓 Node Exporter 的 tar.gz 文件。
#解壓tar -xf node_exporter-1.9.0.linux-amd64.tar.gz -C /usr/local/
#修改名稱mv /usr/local/node_exporter-1.9.0.linux-amd64/ /usr/local/node_exporter
3.啟動
nohup /usr/local/node_exporter/node_exporter &
4. 驗證啟動
[root@agent1 ~]# lsof -i:9100
通過瀏覽器訪問'http://被監控端IP:9100/metrics
就可以查看到node_exporter在被監控端收集的監控信息
5 配置prometheus
回到prometheus服務器的配置文件里添加被監控機器的配置段
vim /usr/local/prometheus/prometheus.yml
在主配置文件最后加上下面三行
- job_name: 'agent1' # 取一個job名稱來代表被監控的機器
static_configs:
- targets: ['172.16.29.72:9100'] # 這里改成被監控機器的IP,后面端口接9100
三 部署Grafana
Grafana 是一個開源的數據可視化和監控平臺,主要用于從各種數據源(如 Prometheus、InfluxDB、Elasticsearch 等)獲取數據,并將這些數據以直觀的圖表、面板和儀表盤的形式進行展示。它被廣泛用于實時監控和分析基礎設施、應用程序和其他業務數據
1.下載;
wget https://dl.grafana.com/oss/release/grafana-5.3.4-1.x86_64.rpm
2.缺少依賴下載失敗情況
缺少依賴的話安裝
yum install urw-fonts
3.開機啟動和啟動
systemctl start grafana-server
systemctl enable grafana-server
4.驗證啟動
確認端口
lsof -i:3000
通過瀏覽器訪問 http:// grafana服務器IP:3000
就到了登錄界面,使用默認的admin用戶,admin密碼就可以登陸了 默認密碼是admin
5 接入prometheus數據源
四 安裝influxdb
Meter 和 InfluxDB 是常用的工具。JMeter 用于執行性能測試,而 InfluxDB 是一個時間序列數據庫,通常用于存儲和分析與時間相關的性能數據。將這兩個工具結合起來使用,可以更有效地收集、存儲和分析測試結果
1. 清除 YUM 緩存
首先,清除之前下載的緩存文件,確保沒有過時的包信息:
sudo yum clean all
2. 導入 InfluxDB 的 GPG 公鑰
確保正確導入了 InfluxDB 官方 GPG 密鑰。你可以使用以下命令重新導入密鑰:
curl -sL https://repos.influxdata.com/influxdb.key | sudo tee /etc/pki/rpm-gpg/influxdb.key
3. 配置 InfluxDB 倉庫
再次檢查你的倉庫配置文件 /etc/yum.repos.d/influxdb.repo 是否正確。如果沒有正確配置,可以重新配置:
echo -e "[influxdb]\nname = InfluxDB Repository\nbaseurl = https://repos.influxdata.com/rhel/7/x86_64/stable\ngpgcheck = 1\ngpgkey = https://repos.influxdata.com/influxdb.key" | sudo tee /etc/yum.repos.d/influxdb.repo
4. 禁用 GPG 驗證(可選)
如果你仍然遇到 GPG 錯誤,并且你確信源是可信的,你可以臨時禁用 GPG 驗證,雖然這種方式不推薦做長期使用:
sudo yum install --nogpgcheck influxdb
5. 更新緩存并安裝 InfluxDB
重新更新倉庫緩存并安裝 InfluxDB:
sudo yum makecache
sudo yum install influxdb
6. 啟動 InfluxDB 服務
安裝完成后,啟動 InfluxDB 服務:
sudo systemctl start influxdb
7. 設置開機啟動
如果需要在系統重啟時自動啟動 InfluxDB,可以使用以下命令:
sudo systemctl enable influxdb
8. 驗證安裝
通過以下命令檢查 InfluxDB 服務是否已啟動:
sudo systemctl status influxdb
9.Grafana接入 InfluxDB數據
五 jmeter 配置后端監聽器
添加監聽器org.apache.jmeter.visualizers.backend. influxdb.InfluxdbBackendlistenerClient
六 Grafana導入監控模版
模板ID:5496 監控Jmeter壓測后的響應時間,吞吐量等 模板ID:12633 監控Linux服務器硬件詳情,如CPU使用率,內存使用率等
七 性能測試
八總結
本次時間匆忙,后續有時間監控數據庫以及redis,kafaka,es等中間件,以及開機自起......