健康检查 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_health_nodes_offline_count(对于指标 v3)或 minio_cluster_nodes_offline_total(对于指标 v2)配置一个 Prometheus 警报,以检测一个或多个 MinIO 节点是否离线。
集群写入法定人数
使用以下端点测试 MinIO 集群是否具有写入法定人数
curl -I https://minio.example.net:9000/minio/health/cluster
将 https://minio.example.net:9000 替换为要检查的 MinIO 集群中节点的主机名。对于使用负载均衡器管理传入连接的集群,请指定负载均衡器的主机名。
响应码 200 OK 表示 MinIO 集群有足够的 MinIO 服务器在线以满足写入法定人数。响应码 503 Service Unavailable 表示集群当前没有写入法定人数。
仅靠健康检查探针无法确定 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 集群中节点的主机名。对于使用负载均衡器管理传入连接的集群,请指定负载均衡器的主机名。
响应码 200 OK 表示 MinIO 集群有足够的 MinIO 服务器在线以满足读取法定人数。响应码 503 Service Unavailable 表示集群当前没有读取法定人数。
仅靠健康检查探针无法确定 MinIO 服务器是否离线或正在正常处理读取操作——只能确定是否有足够的 MinIO 服务器在线以满足基于所配置的纠删码奇偶校验的读取法定人数要求。考虑使用 minio_cluster_nodes_offline_total 指标配置 Prometheus 警报,以检测一个或多个 MinIO 节点是否离线。
集群维护检查
使用以下端点测试在指定的 MinIO 服务器停机维护时,MinIO 集群是否能同时保持读取和写入
curl -I https://minio.example.net:9000/minio/health/cluster?maintenance=true
将 https://minio.example.net:9000 替换为要检查的 MinIO 集群中节点的主机名。对于使用负载均衡器管理传入连接的集群,请指定负载均衡器的主机名。
响应码 200 OK 表示 MinIO 集群有足够的 MinIO 服务器在线以满足写入法定人数。响应码 412 Precondition Failed 表示如果该 MinIO 服务器离线,集群将失去法定人数。
仅靠健康检查探针无法确定 MinIO 服务器是否离线——只能确定在将节点停机维护后,是否有足够的 MinIO 服务器在线,以满足基于所配置的纠删码奇偶校验的读取和写入法定人数要求。考虑使用 minio_cluster_nodes_offline_total 指标配置 Prometheus 警报,以检测一个或多个 MinIO 节点是否离线。