健康检查 API
MinIO暴露了未经身份验证的端点,用于探测节点运行时间和集群 高可用性 以进行简单的健康检查。 这些端点返回一个HTTP状态码,指示基础资源是否 健康或满足读/写仲裁。MinIO不通过这些端点 公开任何其他数据。
节点活跃度
使用以下端点测试MinIO服务器是否在线:
curl -I https://minio.example.net:9000/minio/health/live
将 https://minio.example.net:900
替换为要检查的
MinIO服务器的DNS主机名。
响应代码 200 OK
表示MinIO服务器在线并可正常使用。
任何其他HTTP代码都表示无法访问服务器,
例如短暂的网络问题或潜在的停机时间。
仅靠健康检查探针无法确定 MinIO 服务器是否处于脱机状态。
相反,探针会确定当前主机是否能连接到服务器。
考虑使用 metrics v3 的 minio_cluster_health_nodes_offline_count
或 metrics v2 的 minio_cluster_nodes_offline_total
配置 Prometheus alert ,以检测是否有一个或多个 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_cluster_nodes_offline_total
指标警报, 以检测一个或多个 MinIO 节点处于离线状态。使用
minio_node_disk_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 Service Unavailable
时,
表示集群当前没有读取仲裁。
仅凭健康检查探针无法确定 MinIO 服务器是离线还是正常处理读操作 - 只能
确定是否有足够的 MinIO 服务器在线根据配置
的 纠删码奇偶校验 以满足读取仲裁要求。
考虑使用 minio_cluster_nodes_offline_total
指标配置
Prometheus 警报 ,
以便检测一个或多个 MinIO 节点是否处于
离线状态
集群维护检查
使用以下端点测试 MinIO 集群是否可以在指定 的 MinIO 服务器因维护而关闭时维持 读取 和:ref:写入 <minio-ec-parity> :
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 服务器在线以满足读写仲裁要求。
可以考虑使用 minio_cluster_nodes_offline_total
指标配置
Prometheus 警报 ,
以检测一个或多个 MinIO 节点是否处于离线状态。