Skip to content

RustFS

Prometheus Metrics

RustFS is a high-performance, S3-compatible object storage written in Rust that exposes native Prometheus metrics with MinIO API compatibility.

Prometheus metrics are available by default on the RustFS API port (9000) at /minio/v2/metrics/cluster (MinIO-compatible endpoint). The endpoint may require authentication.

Option 1: Public metrics (no authentication)

Set the following environment variable to expose metrics without authentication:

Terminal window
RUSTFS_PROMETHEUS_AUTH_TYPE=public

Option 2: Authenticated access with bearer token

If your RustFS instance requires authentication, use a bearer token in the scrape configuration. Refer to your RustFS deployment documentation for token generation.

Terminal window
sudo tee /etc/glouton/conf.d/99-rustfs.conf > /dev/null << 'EOF'
metric:
prometheus:
targets:
- url: "http://localhost:9000/minio/v2/metrics/cluster"
name: "rustfs"
allow_metrics:
- "rustfs_*"
- "minio_*"
EOF

If authentication is required, add an Authorization header to the target:

metric:
prometheus:
targets:
- url: "http://localhost:9000/minio/v2/metrics/cluster"
name: "rustfs"
headers:
Authorization: "Bearer <your-bearer-token>"
allow_metrics:
- "rustfs_*"
- "minio_*"

Since RustFS maintains MinIO API compatibility, some metrics may use the minio_ prefix instead of rustfs_. The allow_metrics configuration above includes both prefixes to capture all metrics.

Metric Description
rustfs_s3_requests_total Total number of S3 requests
rustfs_s3_traffic_received_bytes Total bytes received via S3 API
rustfs_s3_traffic_sent_bytes Total bytes sent via S3 API
rustfs_bucket_usage_total_bytes Total storage used per bucket
rustfs_cluster_nodes_online_total Number of online nodes in the cluster
rustfs_node_disk_used_bytes Disk space used per node