How do MinIO Metrics V2 compare to V3, and how do I migrate my monitoring dashboards?

Asked by muratkars Answered by muratkars January 26, 2026 Updated January 27, 2026
0 views

MinIO Metrics V3 introduces a redesigned metrics system with improved naming conventions, a unified endpoint, and many new metrics for enhanced observability. This guide covers the key differences and provides migration guidance.

Answer

Quick Summary

AspectV2 MetricsV3 Metrics
Total Mapped Metrics113113 (equivalent)
New V3-Only MetricsN/A161
EndpointsMultiple (/minio/v2/metrics/bucket, /cluster, /node)Unified (/minio/metrics/v3)
Naming Conventionminio_<scope>_<metric>minio_<subsystem>_<component>_<metric>

Endpoint Changes

V2 Endpoints (Deprecated)

/minio/v2/metrics/bucket
/minio/v2/metrics/cluster
/minio/v2/metrics/node

V3 Endpoint (Current)

/minio/metrics/v3
/minio/metrics/v3/bucket/api?bucket=<BUCKET>
/minio/metrics/v3/bucket/replication?bucket=<BUCKET>

Key Naming Convention Changes

Bucket Metrics

V2 MetricV3 Metric
minio_bucket_usage_total_bytesminio_cluster_usage_buckets_total_bytes
minio_bucket_usage_object_totalminio_cluster_usage_buckets_objects_count
minio_bucket_requests_totalminio_bucket_api_total
minio_bucket_requests_4xx_errors_totalminio_bucket_api_4xx_errors_total
minio_bucket_requests_5xx_errors_totalminio_bucket_api_5xx_errors_total
minio_bucket_requests_ttfb_seconds_distributionminio_bucket_api_ttfb_seconds_distribution

Cluster Health Metrics

V2 MetricV3 Metric
minio_cluster_capacity_raw_total_bytesminio_cluster_health_capacity_raw_total_bytes
minio_cluster_capacity_raw_free_bytesminio_cluster_health_capacity_raw_free_bytes
minio_cluster_capacity_usable_total_bytesminio_cluster_health_capacity_usable_total_bytes
minio_cluster_capacity_usable_free_bytesminio_cluster_health_capacity_usable_free_bytes
minio_cluster_drive_offline_totalminio_cluster_health_drives_offline_count
minio_cluster_drive_online_totalminio_cluster_health_drives_online_count
minio_cluster_nodes_offline_totalminio_cluster_health_nodes_offline_count
minio_cluster_nodes_online_totalminio_cluster_health_nodes_online_count

S3 API Metrics

V2 MetricV3 Metric
minio_s3_requests_totalminio_api_requests_total
minio_s3_requests_4xx_errors_totalminio_api_requests_4xx_errors_total
minio_s3_requests_5xx_errors_totalminio_api_requests_5xx_errors_total
minio_s3_requests_inflight_totalminio_api_requests_inflight_total
minio_s3_traffic_received_bytesminio_api_requests_traffic_received_bytes
minio_s3_traffic_sent_bytesminio_api_requests_traffic_sent_bytes

Node/Drive Metrics

V2 MetricV3 Metric
minio_node_drive_free_bytesminio_system_drive_free_bytes
minio_node_drive_total_bytesminio_system_drive_total_bytes
minio_node_drive_used_bytesminio_system_drive_used_bytes
minio_node_drive_errors_timeoutminio_system_drive_timeout_errors_total
minio_node_drive_errors_ioerrorminio_system_drive_io_errors_total
minio_node_file_descriptor_open_totalminio_system_process_file_descriptor_open_total
minio_node_go_routine_totalminio_system_process_go_routine_total

Network Metrics

V2 MetricV3 Metric
minio_inter_node_traffic_received_bytesminio_system_network_internode_recv_bytes_total
minio_inter_node_traffic_sent_bytesminio_system_network_internode_sent_bytes_total

Type Changes

Some metrics changed from histogram to gauge in V3. Update your Grafana queries accordingly:

MetricV2 TypeV3 TypeQuery Change Required
minio_bucket_objects_age_distributionhistogramgaugeUse sum by (range) instead of histogram_quantile()
minio_bucket_objects_size_distributionhistogramgaugeUse sum by (range) instead of histogram_quantile()
minio_cluster_objects_age_distributionhistogramgaugeUse sum by (range) instead of histogram_quantile()
minio_bucket_replication_latency_mshistogramgaugeUse sum by (range) instead of histogram_quantile()

V2 Query (Histogram):

histogram_quantile(0.95, sum by (job, le, bucket) (rate(minio_bucket_objects_age_distribution[5m])))

V3 Query (Gauge with range labels):

sum by (range) (minio_cluster_usage_buckets_object_age_distribution)

Unit Changes

Some metrics changed units - particularly from nanoseconds to seconds:

V2 MetricV3 MetricUnit Change
minio_bucket_usage_last_activity_nano_secondsminio_cluster_usage_objects_since_last_update_secondsnanoseconds → seconds
minio_heal_time_last_activity_nano_secondsminio_heal_time_last_activity_secondsnanoseconds → seconds

New V3-Only Metrics

AIStor Tables Metrics

minio_tables_warehouses_total - Current number of warehouses
minio_tables_namespaces_total - Current number of namespaces
minio_tables_tables_total - Current number of tables
minio_tables_views_total - Current number of views
minio_tables_staged_tables_total - Current number of staged tables
minio_tables_transactions_active_current - Currently active transactions
minio_tables_recovery_operations_total - Total recovery operations
minio_tables_recovery_rollback_total - Total transaction rollbacks

QoS Metrics (Bucket-Level)

minio_bucket_api_qos_req_configured_counts_per_second
minio_bucket_api_last_minute_qos_rate_limit_exceeded_counts
minio_bucket_api_last_minute_qos_throttled_total

System CPU Metrics

minio_system_cpu_load / load5 / load15
minio_system_cpu_idle_avg / idle_max
minio_system_cpu_iowait_avg / iowait_max
minio_system_cpu_user / user_avg / user_max
minio_system_cpu_system / system_avg / system_max
minio_system_cpu_steal / steal_avg / steal_max

System Memory Metrics

minio_system_memory_total / available / free / used
minio_system_memory_buffers / cache / shared
minio_system_memory_used_perc

Drive Cache Metrics

minio_system_drive_cache_capacity
minio_system_drive_cache_used
minio_system_drive_cache_hits / misses
minio_system_drive_cache_delete_hits / delete_misses
minio_system_drive_cache_collisions

Audit Metrics

minio_audit_total_messages / failed_messages
minio_audit_total_requests / failed_requests
minio_audit_target_queue_length
minio_audit_global_queue_size

Scanner Metrics

minio_scanner_bucket_scans_started / finished
minio_scanner_objects_scanned / versions_scanned
minio_scanner_directories_scanned
minio_scanner_last_activity_seconds

IAM Metrics

minio_iam_sync_successes / sync_failures
minio_iam_since_last_sync_millis
minio_iam_ldap_idp_health

KMS Metrics

minio_kms_online
minio_kms_online_seconds
minio_kms_request_succeeded / failed_error / failed_internal

Site Replication Metrics

minio_cluster_replication_sent_bytes / sent_count
minio_cluster_replication_received_bytes / received_count
minio_cluster_replication_queued_bytes / queued_count
minio_cluster_replication_errors_total / retries_total
minio_cluster_replication_active_workers

Grafana Query Migration Examples

Cluster Capacity

V2:

sum(minio_cluster_capacity_raw_total_bytes)

V3:

sum(minio_cluster_health_capacity_raw_total_bytes)

Request Rate

V2:

sum(rate(minio_s3_requests_total[5m]))

V3:

sum(rate(minio_api_requests_total[5m]))

Error Rate

V2:

sum(rate(minio_s3_requests_4xx_errors_total[5m]))

V3:

sum(rate(minio_api_requests_4xx_errors_total[5m]))

TTFB P95

V2:

histogram_quantile(0.95, sum by (le) (rate(minio_s3_requests_ttfb_seconds_distribution[5m])))

V3:

histogram_quantile(0.95, sum by (le) (rate(minio_api_requests_ttfb_seconds_distribution[5m])))

Drive Free Space

V2:

sum(minio_node_drive_free_bytes)

V3:

sum(minio_system_drive_free_bytes)

Object Count

V2:

sum(minio_cluster_usage_object_total)

V3:

sum(minio_cluster_usage_objects_count)

Prometheus Configuration Update

V2 Configuration

scrape_configs:
- job_name: minio-bucket
static_configs:
- targets: ['minio:9000']
metrics_path: /minio/v2/metrics/bucket
- job_name: minio-cluster
static_configs:
- targets: ['minio:9000']
metrics_path: /minio/v2/metrics/cluster
- job_name: minio-node
static_configs:
- targets: ['minio:9000']
metrics_path: /minio/v2/metrics/node

V3 Configuration

scrape_configs:
- job_name: minio
static_configs:
- targets: ['minio:9000']
metrics_path: /minio/metrics/v3

Migration Checklist

  • Update Prometheus scrape configuration to V3 endpoint
  • Update Grafana dashboards with new metric names
  • Update alerting rules with new metric names
  • Update histogram queries to use range labels where applicable
  • Update unit conversions (nanoseconds → seconds)
  • Add new V3-only metrics to dashboards (CPU, memory, cache, etc.)
  • Test all dashboards and alerts in staging environment
  • Document any custom metrics/queries specific to your deployment
0