使用 InfluxDB 監控和警報
MinIO 使用 Prometheus 資料模型發佈叢集和節點指標。InfluxDB 支援抓取 MinIO 指標資料以進行監控和警報。
本頁上的程序記錄了以下內容
設定 InfluxDB 服務以抓取和顯示 MinIO 部署的指標
在 MinIO 指標上設定警報
必要條件
此程序需要以下內容
此程序假設所有必要的網路控制元件(例如 Ingress 或負載平衡器)都到位,以方便 MinIO Tenant 和 InfluxDB 服務之間的存取。
設定 InfluxDB 以使用 MinIO 指標收集和警報
重要
此程序特別使用 InfluxDB UI 來建立抓取端點。
InfluxDB UI 無法提供與使用Telegraf 和對應的 Prometheus 外掛程式相同的組態級別。具體而言
您無法透過 InfluxDB UI 啟用對 MinIO 指標端點的驗證存取
您無法為收集的指標設定標籤(例如,
url_tag
),以唯一識別給定 MinIO 部署的指標
Telegraf Prometheus 外掛程式還支援 Kubernetes 特定的功能,例如針對給定的 MinIO Tenant 抓取 minio
服務。
設定 Telegraf 超出此程序的範圍。您可以將此程序作為設定 Telegraf 來抓取 MinIO 指標的一般指南。
設定對 MinIO 指標的公開存取
將
MINIO_PROMETHEUS_AUTH_TYPE
環境變數設定為 MinIO 部署中所有節點的"public"
。然後,您可以重新啟動部署,以允許對 MinIO 指標的公開存取。您可以嘗試
curl
指標端點來驗證變更curl https://HOSTNAME/minio/v2/metrics/cluster
將
HOSTNAME
替換為您存取 MinIO 部署時所使用的負載平衡器或反向代理伺服器的 URL。您也可以指定任何單一節點作為HOSTNAME:PORT
,除了節點主機名稱之外,還需指定 MinIO 伺服器 API 連接埠。回應主體應包含收集到的 MinIO 指標列表。
登入 InfluxDB UI 並建立儲存桶 (Bucket)
選擇您要儲存 MinIO 指標的 組織 (Organization)。
建立一個 新儲存桶 (New Bucket),用於儲存 MinIO 部署的指標。
建立新的抓取來源 (Scraping Source)
建立一個新的 InfluxDB 抓取器 (Scraper)。
指定 MinIO 部署的完整 URL,包括指標端點。
https://HOSTNAME/minio/v2/metrics/cluster
將
HOSTNAME
替換為您存取 MinIO 部署時所使用的負載平衡器或反向代理伺服器的 URL。您也可以指定任何單一節點作為HOSTNAME:PORT
,除了節點主機名稱之外,還需指定 MinIO 伺服器 API 連接埠。驗證資料
使用 DataExplorer 來視覺化收集到的 MinIO 資料。
例如,您可以對
minio_cluster_capacity_usable_total_bytes
和minio_cluster_capacity_usable_free_bytes
設定篩選器,以比較 MinIO 部署上的可用總空間和可用剩餘空間。設定檢查 (Check)
針對 MinIO 指標建立一個新檢查 (New Check)。
以下範例檢查規則提供 MinIO 部署的警報基準。您可以修改或以其他方式使用這些範例,以引導您建立自己的檢查。
建立一個名為
MINIO_NODE_DOWN
的 閾值檢查 (Threshold Check)。設定
minio_cluster_nodes_offline_total
金鑰的篩選器。當值大於 1 時,將閾值 (Thresholds) 設定為 警告 (WARN)。
建立一個名為
MINIO_QUORUM_WARNING
的 閾值檢查 (Threshold Check)。設定
minio_cluster_drive_offline_total
金鑰的篩選器。當值比您設定的Erasure Code Parity 設定少一時,將閾值 (Thresholds) 設定為 嚴重 (CRITICAL)。
例如,使用 EC:4 的部署應將此值設定為
3
。
設定您的 通知端點 (Notification endpoints) 和 通知規則 (Notification rules),以便每種類型的檢查都能觸發適當的回應。