健康检查 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 主机名。对于使用负载均衡器来管理传入连接的集群,请指定负载均衡器的主机名。
当 MinIO 集群拥有足够的在线 MinIO 服务器以满足写入仲裁时,响应代码为 200 OK
。响应代码为 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 集群中某个节点的 DNS 主机名。对于使用负载均衡器来管理传入连接的集群,请指定负载均衡器的主机名。
当 MinIO 集群拥有足够的在线 MinIO 服务器以满足读取仲裁时,响应代码为 200 OK
。响应代码为 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 集群中某个节点的 DNS 主机名。对于使用负载均衡器来管理传入连接的集群,请指定负载均衡器的主机名。
当 MinIO 集群拥有足够的在线 MinIO 服务器以满足写入仲裁时,响应代码为 200 OK
。响应代码为 412 Precondition Failed
表示如果 MinIO 服务器离线,集群将失去仲裁。
单独的健康检查探测器无法确定 MinIO 服务器是否离线 - 只能基于配置的 擦除编码奇偶校验 判断在将节点停机维护后是否仍然有足够的在线 MinIO 服务器以满足读取和写入仲裁要求。考虑使用 minio_cluster_nodes_offline_total
指标配置 Prometheus 警报 来检测是否有一个或多个 MinIO 节点离线。