健康檢查 API
MinIO 公開未經身份驗證的端點,用於探測節點正常運行時間和叢集高可用性,以進行簡單的健康檢查。這些端點會傳回 HTTP 狀態碼,指示底層資源是否健康或滿足讀取/寫入仲裁。MinIO 不透過這些端點公開其他資料。
節點存活性
使用下列端點測試 MinIO 伺服器是否在線上
curl -I https://minio.example.net:9000/minio/health/live
將 https://minio.example.net:9000
替換為要檢查的 MinIO 伺服器的 DNS 主機名稱。
回應碼為 200 OK
表示 MinIO 伺服器在線上且功能正常。任何其他 HTTP 程式碼都表示連線到伺服器時出現問題,例如暫時性網路問題或潛在的停機時間。
單獨的健康檢查探測無法判斷 MinIO 伺服器是否離線,只能判斷目前的本機無法連線到伺服器。請考慮使用 minio_cluster_nodes_offline_total
指標設定 Prometheus 警報,以偵測是否有一或多個 MinIO 節點離線。
叢集寫入仲裁
使用下列端點測試 MinIO 叢集是否具有寫入仲裁
curl -I https://minio.example.net:9000/minio/health/cluster
將 https://minio.example.net:9000
替換為要檢查的 MinIO 叢集中節點的 DNS 主機名稱。對於使用負載平衡器管理連入連線的叢集,請指定負載平衡器的主機名稱。
回應碼為 200 OK
表示 MinIO 叢集具有足夠的 MinIO 伺服器在線上以滿足寫入仲裁。回應碼為 503 服務無法使用
表示叢集目前沒有寫入仲裁。
單獨的健康檢查探測無法判斷 MinIO 伺服器是否離線或正常處理寫入操作,只能判斷是否有足夠的 MinIO 伺服器在線上以滿足根據已設定的抹除碼同位寫入仲裁要求。請考慮使用下列其中一個指標設定 Prometheus 警報,以偵測 MinIO 叢集上的潛在問題或錯誤
minio_cluster_nodes_offline_total
在一或多個 MinIO 節點離線時發出警報。minio_node_drive_free_bytes
在叢集可用磁碟空間不足時發出警報。
叢集讀取仲裁
使用下列端點測試 MinIO 叢集是否具有讀取仲裁
curl -I https://minio.example.net:9000/minio/health/cluster/read
將 https://minio.example.net:9000
替換為要檢查的 MinIO 叢集中節點的 DNS 主機名稱。對於使用負載平衡器管理連入連線的叢集,請指定負載平衡器的主機名稱。
回應碼為 200 OK
表示 MinIO 叢集具有足夠的 MinIO 伺服器在線上以滿足讀取仲裁。回應碼為 503 服務無法使用
表示叢集目前沒有讀取仲裁。
僅靠健康檢查探針無法判斷 MinIO 伺服器是否離線或正在正常處理讀取操作,它只能判斷是否有足夠的 MinIO 伺服器在線上,以滿足基於配置的糾刪碼同位的讀取仲裁要求。 建議配置一個 Prometheus 警報,使用 minio_cluster_nodes_offline_total
指標來偵測是否有一個或多個 MinIO 節點離線。
叢集維護檢查
使用以下端點測試,如果將指定的 MinIO 伺服器停機進行維護,MinIO 叢集是否能維持讀取和寫入。
curl -I https://minio.example.net:9000/minio/health/cluster?maintenance=true
將 https://minio.example.net:9000
替換為要檢查的 MinIO 叢集中節點的 DNS 主機名稱。對於使用負載平衡器管理連入連線的叢集,請指定負載平衡器的主機名稱。
回應碼為 200 OK
表示 MinIO 叢集有足夠的 MinIO 伺服器在線上以滿足寫入仲裁。回應碼為 412 Precondition Failed
表示如果 MinIO 伺服器離線,叢集將失去仲裁。
僅靠健康檢查探針無法判斷 MinIO 伺服器是否離線,它只能判斷在將節點停機維護後,是否有足夠的 MinIO 伺服器在線上,以滿足基於配置的糾刪碼同位的讀取和寫入仲裁要求。 建議配置一個 Prometheus 警報,使用 minio_cluster_nodes_offline_total
指標來偵測是否有一個或多個 MinIO 節點離線。