Prometheus metrics

MinIO Sidekick exposes Prometheus-compatible metrics for monitoring load balancer performance and backend health.

Metrics endpoint

Sidekick serves metrics at /.prometheus/metrics on the main listening port:

curl http://localhost:8080/.prometheus/metrics

The endpoint requires no authentication and returns metrics in Prometheus text format.

Available metrics

Sidekick exports these metrics for each backend:

  • sidekick_requests_total - Total number of requests forwarded to the backend
  • sidekick_errors_total - Total number of failed requests to the backend
  • sidekick_rx_bytes_total - Total bytes received from the backend
  • sidekick_tx_bytes_total - Total bytes sent to the backend

All metrics include labels identifying the backend endpoint.

Prometheus configuration

Configure Prometheus to scrape the load balancer endpoint:

scrape_configs:
  - job_name: minio-sidekick
    metrics_path: /.prometheus/metrics
    static_configs:
      - targets:
          - localhost:8080

The default scrape interval of 15 seconds provides sufficient granularity for most deployments. Adjust the interval based on your monitoring requirements.

Metric usage

Monitor request distribution across backends by comparing sidekick_requests_total values. Large differences indicate uneven load distribution. Track error rates using the ratio of sidekick_errors_total to sidekick_requests_total. High error rates may indicate backend health issues.

Network throughput monitoring uses sidekick_rx_bytes_total and sidekick_tx_bytes_total. Calculate rates using Prometheus rate functions to identify bandwidth patterns and potential bottlenecks.