文件

使用 InfluxDB 進行監控和警報

MinIO 使用 Prometheus 資料模型發佈叢集和節點指標。InfluxDB 支援抓取 MinIO 指標資料以進行監控和警報。

此頁面上的程序記錄了以下內容

  • 設定 InfluxDB 服務以抓取和顯示來自 MinIO 部署的指標

  • 在 MinIO 指標上設定警報

先決條件

此程序需要以下內容

  • 已設定一個或多個通知端點的現有 InfluxDB 部署

  • 具有網路存取 InfluxDB 部署的現有 MinIO 部署

  • 在您的本機主機上安裝 mc,並將其設定為存取 MinIO 部署

此程序假設所有必要的網路控制元件 (例如 Ingress 或負載平衡器) 可促進 MinIO 租戶和 InfluxDB 服務之間的存取。

設定 InfluxDB 以使用 MinIO 指標收集和警報

重要

此程序專門使用 InfluxDB UI 來建立抓取端點。

InfluxDB UI 並未提供與使用 Telegraf 和相應的 Prometheus 外掛程式相同等級的組態。具體而言

  • 您無法透過 InfluxDB UI 啟用對 MinIO 指標端點的驗證存取

  • 您無法設定收集指標的標籤 (例如 url_tag),以唯一識別給定 MinIO 部署的指標

Telegraf Prometheus 外掛程式還支援 Kubernetes 特定功能,例如抓取給定 MinIO 租戶的 minio 服務。

設定 Telegraf 超出此程序的範圍。您可以使用此程序作為設定 Telegraf 來抓取 MinIO 指標的一般指南。

  1. 設定對 MinIO 指標的公開存取

    MINIO_PROMETHEUS_AUTH_TYPE 環境變數設定為 MinIO 部署中所有節點的 "public"。然後,您可以重新啟動部署以允許公開存取 MinIO 指標。

    您可以嘗試 curl 指標端點來驗證變更

    curl https://HOSTNAME/minio/v2/metrics/cluster
    

    HOSTNAME 取代為您存取 MinIO 部署的負載平衡器或反向 Proxy 的 URL。您也可以指定任何單一節點作為 HOSTNAME:PORT,除了節點主機名稱之外,還需指定 MinIO 伺服器 API 通訊埠。

    回應主體應包含收集到的 MinIO 指標清單。

  2. 登入 InfluxDB UI 並建立儲存桶

    選取您要儲存 MinIO 指標的組織

    建立一個新儲存桶,用於儲存 MinIO 部署的指標。

  3. 建立新的抓取來源

    建立一個新的 InfluxDB 收集器 (Scraper)

    指定 MinIO 部署的完整 URL,包括指標端點。

    https://HOSTNAME/minio/v2/metrics/cluster
    

    HOSTNAME 取代為您存取 MinIO 部署的負載平衡器或反向 Proxy 的 URL。您也可以指定任何單一節點作為 HOSTNAME:PORT,除了節點主機名稱之外,還需指定 MinIO 伺服器 API 通訊埠。

  4. 驗證資料。

    使用 DataExplorer 來視覺化收集到的 MinIO 資料。

    例如,您可以設定 minio_cluster_capacity_usable_total_bytesminio_cluster_capacity_usable_free_bytes 的篩選器,以比較 MinIO 部署上的可用總空間與可用剩餘空間。

  5. 設定檢查 (Check)。

    在 MinIO 指標上建立一個新的檢查 (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),以便每一種類型的檢查觸發適當的回應。