文件

使用 InfluxDB 監控和警報

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

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

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

  • 在 MinIO 指標上設定警報

必要條件

此程序需要以下內容

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

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

  • 在您的本機主機上安裝 mc,並設定為存取 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 指標的一般指南。

  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)

    建立一個 新儲存桶 (New 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. 設定檢查 (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),以便每種類型的檢查都能觸發適當的回應。