文件

使用 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 抓取工具

    指定 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. 設定檢查

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

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

    • 建立一個名為 MINIO_NODE_DOWN閾值檢查

      設定 minio_cluster_nodes_offline_total 鍵的篩選條件。

      當數值大於 1 時,將閾值設定為 警告

    • 建立一個名為 MINIO_QUORUM_WARNING閾值檢查

      設定 minio_cluster_drive_offline_total 鍵的篩選條件。

      當數值比您設定的Erasure Code Parity(抹除碼同位)設定少 1 時,將 閾值 設定為 嚴重

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

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