文件

使用 InfluxDB 進行監控和警報

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

此頁面上的程序說明以下內容

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

  • 在 MinIO 指標上設定警報

先決條件

此程序需要以下條件

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

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

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

此程序假設所有必要的網路控制元件(例如 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 部署的負載平衡器或反向代理的 URL。您也可以指定任何單一節點作為 HOSTNAME:PORT,並在節點主機名稱之外,額外指定 MinIO 伺服器的 API 連接埠。

    回應主體應包含一份已收集的 MinIO 指標清單。

  2. 登入 InfluxDB UI 並建立一個儲存桶 (Bucket)

    選取您想要儲存 MinIO 指標的 組織 (Organization)

    建立一個 新的儲存桶 (Bucket),用來儲存 MinIO 部署的指標。

  3. 建立一個新的抓取來源 (Scraping Source)

    建立一個新的 InfluxDB 抓取器 (Scraper)

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

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

    HOSTNAME 替換為您用來存取 MinIO 部署的負載平衡器或反向代理的 URL。您也可以指定任何單一節點作為 HOSTNAME:PORT,並在節點主機名稱之外,額外指定 MinIO 伺服器的 API 連接埠。

  4. 驗證資料

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

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

  5. 設定檢查

    針對 MinIO 指標建立一個新的檢查 (Check)

    以下範例檢查規則提供 MinIO 部署的警報基準。您可以修改或以其他方式使用這些範例,作為建立您自己的檢查的指南。

    • 建立一個名為 MINIO_NODE_DOWN閾值檢查 (Threshold Check)

      minio_cluster_nodes_offline_total 鍵設定篩選器。

      閾值 (Thresholds) 設定為當值大於 1警告 (WARN)

    • 建立一個名為 MINIO_QUORUM_WARNING閾值檢查 (Threshold Check)

      minio_cluster_drive_offline_total 鍵設定篩選器。

      閾值 (Thresholds) 設定為當值比您設定的 Erasure Code Parity (糾刪碼同位) 設定少一時為 嚴重 (CRITICAL)

      例如,使用 EC:4 的部署應將此值設定為 3

    設定您的 通知端點 (Notification endpoints)通知規則 (Notification rules),以便每種類型的檢查都觸發適當的回應。