文档

健康检查 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 服务器是否脱机,只能确定当前主机是否可以连接到服务器。考虑使用 Prometheus 警报 配置 minio_cluster_nodes_offline_total 指标,以检测一个或多个 MinIO 节点是否脱机。

集群写入仲裁

使用以下端点测试 MinIO 集群是否具有写入仲裁

curl -I https://minio.example.net:9000/minio/health/cluster

https://minio.example.net:9000 替换为 MinIO 集群中要检查的节点的 DNS 主机名。对于使用负载均衡器来管理传入连接的集群,请指定负载均衡器的主机名。

响应代码 200 OK 表示 MinIO 集群在线的 MinIO 服务器数量足以满足写入仲裁。响应代码 503 Service Unavailable 表示集群当前没有写入仲裁。

仅凭健康检查探针无法确定 MinIO 服务器是否离线或是否正常处理写入操作,只能确定基于配置的 擦除编码奇偶校验,是否有足够的 MinIO 服务器在线以满足写入仲裁要求。

  • 考虑使用以下指标之一配置 Prometheus 警报,以检测 MinIO 集群上的潜在问题或错误。

  • minio_cluster_nodes_offline_total 用于在发现一个或多个 MinIO 节点离线时发出警报。

minio_node_drive_free_bytes 用于在发现集群的可用磁盘空间不足时发出警报。

集群读取仲裁

curl -I https://minio.example.net:9000/minio/health/cluster/read

https://minio.example.net:9000 替换为 MinIO 集群中要检查的节点的 DNS 主机名。对于使用负载均衡器来管理传入连接的集群,请指定负载均衡器的主机名。

使用以下端点来测试 MinIO 集群是否具有 读取仲裁

响应代码为 200 OK 表示 MinIO 集群有足够的 MinIO 服务器在线以满足读取仲裁要求。响应代码为 503 Service Unavailable 表示集群当前没有读取仲裁。

仅凭健康检查探针无法确定 MinIO 服务器是否离线或是否正常处理读取操作,只能确定基于配置的 擦除编码奇偶校验,是否有足够的 MinIO 服务器在线以满足读取仲裁要求。

考虑使用 minio_cluster_nodes_offline_total 指标配置 Prometheus 警报,以检测是否有一个或多个 MinIO 节点离线。

curl -I https://minio.example.net:9000/minio/health/cluster?maintenance=true

https://minio.example.net:9000 替换为 MinIO 集群中要检查的节点的 DNS 主机名。对于使用负载均衡器来管理传入连接的集群,请指定负载均衡器的主机名。

集群维护检查

使用以下端点来测试 MinIO 集群是否可以在指定的 MinIO 服务器下线进行维护的情况下仍然保持 读取写入 仲裁。