Metrics

When metrics.enabled = true, Mini S3 exposes Prometheus-format metrics on http://<host>:<metrics.port>/metrics — on a separate, unauthenticated, plain-HTTP listener from the S3 API itself (bind it to a private interface or firewall it accordingly). Standard Go runtime and process metrics are included alongside the metrics below.

Global summary metrics

Metric Type Description
minis3_count gauge Total number of objects across all buckets.
minis3_used_bytes gauge Total size of all objects across all buckets.
minis3_read_bytes_total counter Bytes read from storage and transmitted to clients since Mini S3 started.
minis3_written_bytes_total counter Bytes received from clients and written to storage since Mini S3 started.

Per-bucket metrics

All labeled with name="<bucket>".

Metric Type Description
minis3_bucket_count gauge Number of objects in the bucket.
minis3_bucket_free_bytes gauge Free space of the filesystem underlying the bucket.
minis3_bucket_used_bytes gauge Cumulative size of all objects in the bucket.
minis3_bucket_read_bytes_total counter Bytes read from storage and transmitted to clients for this bucket since start.
minis3_bucket_written_bytes_total counter Bytes received from clients and written to storage for this bucket since start.

Notes

  • count and used (global and per-bucket) are computed by walking the bucket's directory tree on every scrape. For buckets with a very large number of objects, this makes scrapes proportionally slower; scrape at a sensible interval (e.g. 30-60s) rather than sub-second.
  • read/written counters reset to zero on every process restart — they are in-memory only, not persisted.
  • free uses statfs() on the bucket's backing directory, so it reflects the whole filesystem the bucket lives on, not a per-bucket quota (Mini S3 has no storage quota concept).