MinIO 集群 + Prometheus + Grafana 完整监控部署文档
一、环境说明
运行环境:Kubernetes 集群
MinIO 部署命名空间:
default监控组件:
kube-prometheus-stack(Prometheus + Grafana)监控命名空间:
monitoringMinIO 版本:分布式 4 节点集群
二、前置条件
MinIO 已正常部署并运行(4 节点)
Prometheus + Grafana 已部署
MinIO 指标接口已开启(可正常访问
/minio/v2/metrics/cluster)
三、完整监控部署步骤
步骤 1:给 MinIO Service 端口命名(必须)
作用
让 Prometheus 能精准识别 MinIO 的指标端口
# 编辑 MinIO Service
kubectl edit service minio -n default
修改内容
找到 spec.ports,添加 name: api
spec:
ports:
- name: api # 新增端口名称
nodePort: 30000
port: 9000
protocol: TCP
targetPort: 9000
保存退出:ESC → :wq
步骤 2:创建 ServiceMonitor 自动采集指标
作用
让 Prometheus 自动发现并采集 MinIO 监控数据
cat <<EOF | kubectl apply -f -
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: minio-monitor
namespace: monitoring
labels:
release: prometheus-stack
spec:
jobLabel: app
endpoints:
- port: api
path: /minio/v2/metrics/cluster
interval: 15s
namespaceSelector:
matchNames:
- default
selector:
matchLabels:
app: minio
EOF
执行成功输出:
servicemonitor.monitoring.coreos.com/minio-monitor created
步骤 3:验证 Prometheus 采集状态
作用
确认 Prometheus 已成功对接 MinIO 指标
# 端口转发 Prometheus 控制台
kubectl port-forward -n monitoring svc/prometheus-stack-kube-prom-prometheus 9090:9090 --address=0.0.0.0
浏览器访问:
http://<k8s-master-IP>:9090
检查路径:
Status → Targets
看到 minio-monitor 状态为 UP → 采集成功
步骤 4:Grafana 导入 MinIO 官方监控面板
作用
一键展示 MinIO 集群完整监控大盘
打开 Grafana
左侧菜单:
Dashboards → Import
输入 官方 MinIO 面板 ID:
13502
数据源选择:
Prometheus点击
Import完成
四、监控面板可查看指标
集群节点在线状态
存储总容量 / 已用 / 剩余
磁盘健康状态
GET/PUT/DELETE 请求 QPS
请求延迟(P95/P99)
错误率
纠删码健康状态
节点流量监控
五、常用验证命令
# 验证 MinIO 指标是否正常暴露
kubectl exec -it minio-0 -n default -- curl http://127.0.0.1:9000/minio/v2/metrics/cluster
# 查看 ServiceMonitor 状态
kubectl get servicemonitor -n monitoring
# 查看 MinIO Service 端口名称
kubectl get svc minio -n default -o yaml
六、部署完成总结
✅ MinIO 指标正常暴露
✅ Prometheus 自动采集
✅ Grafana 面板可视化展示
✅ 分布式 4 节点集群全量监控
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
楚少爱看雪!
喜欢就支持一下吧