Prometheus是一個開源的監(jiān)控系統(tǒng)和時序數(shù)據(jù)庫,支持多操作系統(tǒng)的部署。除了傳統(tǒng)的安裝方式Prometheus還可以通過Docker或Kubernetes等容器平臺進行部署。本篇教程主要介紹Prometheus和Grafana的基本部署、配置以及集成Node Exporter的步驟。
一、環(huán)境準備
1、節(jié)點要求
2、軟件包
- Prometheus-2.45.1:https://github.com/prometheus/prometheus/releases/download/v2.45.1/prometheus-2.45.1.linux-amd64.tar.gz
- node_exporter-1.6.1:https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
- Grafana-10.2.0:https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.0-1.x86_64.rpm
二、部署Prometheus(二進制)
1、安裝Prometheus
下載Prometheus:
wget https://github.com/prometheus/prometheus/releases/download/v2.45.1/prometheus-2.45.1.linux-amd64.tar.gz
部署:
驗證:
配置用戶:
groupadd prometheus useradd -g prometheus -s /sbin/nologin prometheus
2、修改安裝目錄權限
設置 Prometheus 安裝目錄的訪問權限:
chown -R prometheus:prometheus /opt/prometheus/
3、創(chuàng)建Prometheus運行數(shù)據(jù)目錄
創(chuàng)建用于存儲 Prometheus 數(shù)據(jù)的目錄:
mkdir -p /opt/prometheus/data chown -R prometheus:prometheus /opt/prometheus/data
三、配置Prometheus
1、配置文件格式
Prometheus 的配置文件采用 YAML 格式,通常是 “prometheus.yml” 文件。YAML 格式簡單易讀,且支持多種編程語言進行解析。
2、配置文件說明
global
3、常用命令行參數(shù)
alerting
rule_files
指定報警規(guī)則文件,這些規(guī)則基于某些指標觸發(fā)報警。規(guī)則修改后,Prometheus 會根據(jù)配置的 “evaluation_interval” 自動加載。
scrape_configs
4、關鍵配置項
- job_name: 監(jiān)控任務的名稱(可理解為任務組);
- scrape_interval: 單獨設置的抓取間隔時間,會覆蓋 “global” 中的 “scrape_interval” 參數(shù);
- metrics_path: 監(jiān)控數(shù)據(jù)的訪問路徑;
- targets: 監(jiān)控目標的地址;
- Prometheus 支持服務發(fā)現(xiàn),可以通過配置文件或文件服務發(fā)現(xiàn)來動態(tài)發(fā)現(xiàn)目標。
5、配置文件重新加載
Prometheus 支持兩種重新加載配置文件的方式:
1、向 Prometheus 進程發(fā)送 “HUP” 信號:
kill -HUP <pid>
2、通過 HTTP 請求重新加載:
curl -X POST http://<prometheus_host>:9090/-/reload
注意:需要在啟動 Prometheus 時指定 “–web.enable-lifecycle” 選項以允許通過 HTTP 請求重新加載配置。
四、創(chuàng)建systemd服務腳本
1、啟動并驗證
重新加載 systemd 配置并啟用 Prometheus 服務:
systemctl daemon-reload systemctl enable prometheus systemctl start prometheus
查看 Prometheus 服務狀態(tài):
systemctl status prometheus
查看 Prometheus 服務端口:
ss -tunlp | grep 9090
檢查配置文件語法是否正確:
./promtool check config prometheus.yml
五、Grafana繪圖
訪問 Web UI
進入后,可以在 “Status” 菜單下查看 “Configuration”、”Rule” 和 “Targets” 等信息。
查看 Prometheus 從各個 exporter 收集的數(shù)據(jù)。
輸入某個指標,點擊“Execute”按鈕,可以查看實時數(shù)據(jù)圖表。
六、部署Node Exporter
Node Exporter 用于收集系統(tǒng)級別的監(jiān)控指標。除了 Node Exporter,Prometheus 還支持如 Memcached、MySQL、HAProxy 等的 exporter。
1、安裝Node Exporter
下載Node Exporter:
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
解壓并安裝:
添加用戶:
設置開機啟動:
驗證:
在瀏覽器中訪問 Node Exporter 默認的監(jiān)控頁面:
http://<node_exporter_ip>:9101/metrics
2、配置Prometheus集成Node Exporter
在 Prometheus 配置文件 “prometheus.yml” 中,添加 Node Exporter 作為目標:
重啟 Prometheus 服務或通過熱加載更新配置:
systemctl restart prometheus.service
或
curl -X POST http://<prometheus_host>:9090/-/reload
查看 Target 狀態(tài),確認 Prometheus 正在抓取 Node Exporter 數(shù)據(jù)。
七、部署Grafana
1、安裝Grafana
下載 Grafana:
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.0-1.x86_64.rpm
安裝Grafana:
yum -y install grafana-enterprise-10.2.0-1.x86_64.rpm
配置文件:
Grafana 的配置文件位于 “/etc/grafana/grafana.ini”,大部分情況下默認配置即可。
設置開機啟動:
systemctl enable grafana-server systemctl start grafana-server
2、添加數(shù)據(jù)源
登錄Grafana:
訪問 Grafana Web UI:
http://127.0.0.1:3000
默認的用戶名和密碼是:”admin/admin”,首次登錄時需要修改管理員密碼。
添加 Prometheus 數(shù)據(jù)源:
在 Grafana 首頁點擊 “Add data source”。
URL:”http://localhost:9090″
其他配置保持默認。
3、導入監(jiān)控模板
Grafana 提供了多種模板用于展示不同的監(jiān)控數(shù)據(jù)。你可以從 Grafana 官方目錄導入以下主機詳情模板:
- 英文版模板 ID:11074
- 中文版模板 ID:16098
選擇適合的模板后,Grafana 會自動展示相關的監(jiān)控面板。
-
廣告合作
-
QQ群號:4114653