MinIO V3
MinIO V3 performance metrics display, including MinIO uptime, storage space distribution, bucket details, file size range distribution, S3 TTFB (s) distribution, S3 traffic, S3 requests, and more.
Configuration¶
Version Support¶
- MinIO version: v3
Exposing MinIO Metrics¶
MinIO officially provides Prometheus-style metrics that can be scraped by related observability tools such as Prometheus for analysis and alerting. The MinIO metrics endpoint includes several categories like API metrics, Audit metrics, Cluster metrics, Debug metrics, etc., which can be obtained separately from each endpoint. Refer to the documentation for details. With the latest MinIO Metrics version 3, all metrics can be fetched from a single endpoint (/minio/metrics/v3
), making metric collection much easier.
By default, when scraping MinIO metrics, you need to generate a bearer token using the mc
command first. For reference, see MinIO v2.
If password-free scraping is required, you can set the metric exposure method to Public
via the MINIO_PROMETHEUS_AUTH_TYPE
environment variable in MinIO. The specific approach is:
Edit the /etc/default/minio
file and add MINIO_PROMETHEUS_AUTH_TYPE="public"
to it. This will enable metric scraping without authentication.
Enable DataKit Collector¶
Edit the prom-minio.conf
configuration file:
[[inputs.prom]]
# Exporter URLs
urls = ["http://minio-endpoint:9000/minio/metrics/v3"]
# Collector alias
source = "minio"
metric_types = []
# Custom Tags
[inputs.prom.tags]
version="v3"
...
Adjust the above parameters. Parameter descriptions are as follows:
- urls: Prometheus metric URL; specify the MinIO exposed metric URL here.
- source: Collector alias; recommended to use
minio
. -
[inputs.prom.tags]: Tag information.
-
Restart DataKit
Metrics¶
Metric Name | Description | Unit |
---|---|---|
api_requests_4xx_errors_total | Total number of API requests with 4xx errors | times |
api_requests_errors_total | Total number of API request errors | times |
api_requests_rejected_auth_total | Total number of API requests rejected due to authentication | times |
api_requests_rejected_invalid_total | Total number of API requests rejected as invalid | times |
api_requests_total | Total number of API requests | times |
api_requests_traffic_received_bytes | Received traffic bytes from API requests | Bytes(B) |
api_requests_traffic_sent_bytes | Sent traffic bytes from API requests | Bytes(B) |
api_requests_ttfb_seconds_distribution | Distribution of time to first byte for API requests (in seconds) | Seconds(s) |
audit_failed_messages | Number of failed audit messages | messages |
audit_target_queue_length | Length of audit target queue | messages |
audit_total_messages | Total number of audit messages | messages |
cluster_erasure_set_health | Health status of cluster erasure sets | health status |
cluster_erasure_set_online_drives_count | Number of online drives in cluster erasure sets | drives |
cluster_erasure_set_overall_health | Overall health status of cluster erasure sets | health status |
cluster_erasure_set_overall_write_quorum | Overall write quorum for cluster erasure sets | quorum |
cluster_erasure_set_read_health | Read health status of cluster erasure sets | health status |
cluster_erasure_set_read_quorum | Read quorum for cluster erasure sets | quorum |
cluster_erasure_set_write_health | Write health status of cluster erasure sets | health status |
cluster_erasure_set_write_quorum | Write quorum for cluster erasure sets | quorum |
cluster_health_capacity_raw_free_bytes | Raw free capacity bytes in healthy clusters | Bytes(B) |
cluster_health_capacity_raw_total_bytes | Total raw capacity bytes in healthy clusters | Bytes(B) |
cluster_health_capacity_usable_free_bytes | Usable free capacity bytes in healthy clusters | Bytes(B) |
cluster_health_capacity_usable_total_bytes | Total usable capacity bytes in healthy clusters | Bytes(B) |
cluster_health_drives_count | Number of drives in healthy clusters | drives |
cluster_health_drives_online_count | Number of online drives in healthy clusters | drives |
cluster_health_nodes_online_count | Number of online nodes in healthy clusters | nodes |
cluster_iam_since_last_sync_millis | Milliseconds since last IAM synchronization | milliseconds(ms) |
cluster_iam_sync_successes | Success count of cluster IAM synchronization | times |
cluster_usage_buckets_object_size_distribution | Object size distribution in buckets used across clusters | Bytes(B) |
cluster_usage_buckets_object_version_count_distribution | Object version count distribution in buckets used across clusters | versions |
cluster_usage_buckets_objects_count | Number of objects in buckets used across clusters | objects |
cluster_usage_buckets_since_last_update_seconds | Seconds since last update of buckets used across clusters | seconds(s) |
cluster_usage_buckets_total_bytes | Total bytes in buckets used across clusters | Bytes(B) |
cluster_usage_objects_buckets_count | Number of buckets containing objects used across clusters | buckets |
cluster_usage_objects_count | Total number of objects used across clusters | objects |
cluster_usage_objects_since_last_update_seconds | Seconds since last update of objects used across clusters | seconds(s) |
cluster_usage_objects_size_distribution | Size distribution of objects used across clusters | Bytes(B) |
cluster_usage_objects_total_bytes | Total bytes of objects used across clusters | Bytes(B) |
cluster_usage_objects_version_count_distribution | Version count distribution of objects used across clusters | versions |
ilm_versions_scanned | Number of ILM versions scanned | times |
logger_webhook_failed_messages | Failed webhook log messages | messages |
logger_webhook_queue_length | Length of webhook log message queue | messages |
logger_webhook_total_messages | Total number of webhook log messages | messages |
scanner_bucket_scans_finished | Completed bucket scans by scanner | times |
scanner_bucket_scans_started | Started bucket scans by scanner | times |
scanner_directories_scanned | Directories scanned by scanner | directories |
scanner_last_activity_seconds | Last activity seconds of scanner | seconds(s) |
scanner_objects_scanned | Objects scanned by scanner | objects |
scanner_versions_scanned | Versions scanned by scanner | versions |
system_cpu_avg_idle | Average idle percentage of system CPU | % |
system_cpu_avg_iowait | Average I/O wait percentage of system CPU | % |
system_cpu_load | System CPU load | load |
system_cpu_load_perc | Percentage of system CPU load | % |
system_cpu_system | System CPU usage percentage (system) | % |
system_cpu_user | System CPU usage percentage (user) | % |
system_drive_api_latency_micros | Drive API latency in microseconds (μs) | microseconds(μs) |
system_drive_count | Number of system drives | drives |
system_drive_free_bytes | Free bytes on system drives | Bytes(B) |
system_drive_free_inodes | Free inodes on system drives | inodes |
system_drive_health | Health status of system drives | health status |
system_drive_online_count | Online drive count in systems | drives |
system_drive_perc_util | Utilization percentage of system drives | % |
system_drive_total_bytes | Total bytes on system drives | Bytes(B) |
system_drive_total_inodes | Total inodes on system drives | inodes |
system_drive_used_bytes | Used bytes on system drives | Bytes(B) |
system_drive_used_inodes | Used inodes on system drives | inodes |
system_drive_writes_await | Write wait time for system drives | time |
system_drive_writes_kb_per_sec | KB written per second to system drives | KB/sec |
system_drive_writes_per_sec | Writes per second to system drives | times/sec |
system_memory_available | Available memory bytes in system | Bytes(B) |
system_memory_buffers | Buffer memory bytes in system | Bytes(B) |
system_memory_cache | Cached memory bytes in system | Bytes(B) |
system_memory_free | Free memory bytes in system | Bytes(B) |
system_memory_shared | Shared memory bytes in system | Bytes(B) |
system_memory_total | Total memory bytes in system | Bytes(B) |
system_memory_used | Used memory bytes in system | Bytes(B) |
system_memory_used_perc | Percentage of used memory in system | % |
system_process_cpu_total_seconds | Total CPU seconds consumed by system processes | seconds(s) |
system_process_file_descriptor_limit_total | File descriptor limit total for system processes | descriptors |
system_process_file_descriptor_open_total | Open file descriptors total for system processes | descriptors |
system_process_go_routine_total | Total Go routines in system processes | routines |
system_process_io_rchar_bytes | IO read character bytes for system processes | Bytes(B) |
system_process_io_read_bytes | IO read bytes for system processes | Bytes(B) |
system_process_io_wchar_bytes | IO write character bytes for system processes | Bytes(B) |
system_process_io_write_bytes | IO write bytes for system processes | Bytes(B) |
system_process_resident_memory_bytes | Resident memory bytes for system processes | Bytes(B) |
system_process_start_time_seconds | Start time in seconds for system processes | seconds(s) |
For additional MinIO V3 metrics, refer to the MinIO official website.