Debian 上监控 MinIO 的完整方案
一 监控方案总览
二 启用并验证 Prometheus 指标
指标端点与权限
Prometheus 抓取示例(/etc/prometheus/prometheus.yml)
scrape_configs:
- job_name: minio-job
bearer_token: <TOKEN_FROM_MC>
metrics_path: /minio/v2/metrics/cluster
scheme: https
static_configs:
- targets: ['minio.example.net:9000']
scrape_configs:
- job_name: minio-job
metrics_path: /minio/v2/metrics/cluster
scheme: http
static_configs:
- targets: ['192.0.2.10:9000']
连通性与指标验证
curl -H "Authorization: Bearer <TOKEN>" http://minio.example.net:9000/minio/v2/metrics/cluster
三 Grafana 可视化与控制台集成
Grafana 看板
在 MinIO Console 显示监控
MINIO_PROMETHEUS_URL=http://prometheus.example.com:9090
MINIO_PROMETHEUS_JOB_ID=minio-job
四 关键告警规则示例
- alert: NodesOffline
expr: avg_over_time(minio_cluster_nodes_offline_total{job="minio-job"}[5m]) > 0
for: 10m
labels: {severity: warn}
annotations:
summary: "MinIO 节点离线"
description: "节点离线数量在 5 分钟内持续大于 0"
- alert: DisksOffline
expr: avg_over_time(minio_cluster_disk_offline_total{job="minio-job"}[5m]) > 0
for: 10m
labels: {severity: warn}
annotations:
summary: "MinIO 磁盘离线"
description: "磁盘离线数量在 5 分钟内持续大于 0"
- alert: DiskSpaceLow
expr: 1 - (minio_node_drive_free_bytes / minio_node_drive_total_bytes) > 0.90
for: 15m
labels: {severity: critical}
annotations:
summary: "磁盘空间不足"
description: "磁盘 {{ $labels.instance }} 可用空间低于 10%"
五 命令行巡检与日志系统监控
mc alias set myminio http://127.0.0.1:9000 <ACCESS_KEY> <SECRET_KEY>
mc admin info myminio
mc admin bucket stat myminio/<bucket>
journalctl -u minio.service -f
top -p $(pgrep minio)
iostat -x 1