Серия «MinIO на VPS»: Prometheus
Источники: MinIO — Metrics, Prometheus Docs.
Включение metrics endpoint
MinIO отдаёт метрики на /minio/v2/metrics/cluster (требует auth).
Binary — добавьте в /etc/default/minio:
grep -q MINIO_PROMETHEUS_AUTH_TYPE /etc/default/minio || cat >> /etc/default/minio << 'EOF'
MINIO_PROMETHEUS_AUTH_TYPE=public
EOF
systemctl restart minio
public— только если Prometheus в доверенной сети. В production используйте JWT/bearer token (см. MinIO Docs).
Docker Compose — в environment:
MINIO_PROMETHEUS_AUTH_TYPE: publicПроверка метрик
curl -s http://127.0.0.1:9000/minio/v2/metrics/cluster | head -20Установка Prometheus (минимально)
apt install -y prometheus/etc/prometheus/prometheus.yml — добавьте job:
scrape_configs:
- job_name: minio
```bash
metrics_path: /minio/v2/metrics/cluster
scheme: http
static_configs:
- targets: ['127.0.0.1:9000']
```bash
systemctl restart prometheus
curl -s http://127.0.0.1:9090/api/v1/targets | grep minioПолезные метрики
| Метрика | Назначение |
|---|---|
minio_cluster_capacity_usable_total_bytes | Ёмкость |
minio_cluster_capacity_usable_free_bytes | Свободно |
minio_s3_requests_total | RPS API |
minio_s3_requests_errors_total | Ошибки S3 |
Grafana (опционально)
apt install -y grafana
systemctl enable --now grafana-serverИмпортируйте dashboard MinIO из Grafana.com (ID ищите по «MinIO Dashboard») или постройте панели по метрикам выше.
Алерт (пример)
Prometheus rule — мало места:
groups:
- name: minio
```bash
rules:
- alert: MinIODiskLow
expr: minio_cluster_capacity_usable_free_bytes / minio_cluster_capacity_usable_total_bytes < 0.1
for: 10m
labels:
severity: warning
annotations:
summary: "MinIO free space below 10%"
# Health vs metrics
Liveness для load balancer:
```bash
curl -f http://127.0.0.1:9000/minio/health/liveMetrics — для capacity и SLA.
Аренда VPS на Simple-Server
Для развёртывания на production возьмите VPS/VDS с Ubuntu 22.04: root по SSH, NVMe и канал от 500 Мбит/с.