MinIO leverages Prometheus for metrics and alerts. Prometheus is an Open-Source systems and service monitoring system which supports analyzing and alerting based on collected metrics. The Prometheus ecosystem includes multiple integrations, allowing wide latitude in processing and storing collected metrics.
MinIO publishes Prometheus-compatible scraping endpoints for cluster and node-level metrics. See Metrics for more information.
MinIO publishes collected metrics data using Prometheus-compatible data structures. Any Prometheus-compatible scraping software can ingest and process MinIO metrics for analysis, visualization, and alerting.
MinIO provides a scraping endpoint for cluster-level metrics:
http://minio.example.net with the hostname of any node in the MinIO
deployment. For deployments with a load balancer managing connections between
MinIO nodes, specify the address of the load balancer.
The following example describes a
scrape_configs entry for collecting
scrape_configs: - job_name: minio-job bearer_token: <secret> metrics_path: /minio/v2/metrics/cluster scheme: https static_configs: - targets: ['minio.example.net:9000']
The name of the scraping job.
The JWT token generated by
Omit this field if the MinIO deployment was started with
The endpoint for the MinIO deployment. You can specify any node in the deployment for collecting cluster metrics. For clusters with a load balancer managing connections between MinIO nodes, specify the address of the load balancer.
MinIO by default requires authentication for scraping the metrics endpoints.
mc admin prometheus generate command to generate the
necessary bearer tokens for use with configuring the
scrape_configs.bearer_token field. You can alternatively disable
metrics endpoint authentication by setting
The MinIO Console uses the metrics collected by Prometheus to populate the Dashboard metrics:
MINIO_PROMETHEUS_URL environment variable to the URL of the
Prometheus service to allow the Console to retrieve and display collected
metrics. See Collect MinIO Metrics Using Prometheus for a complete
MinIO publishes the following metrics, where each metric includes a label for the MinIO server which generated that metric.
These metrics are only populated for MinIO clusters with Server-Side Bucket Replication enabled.
Total number of bytes replicated to this bucket from another source bucket.
Total number of replication operations pending for this bucket.
Total percentage cache usage, value of 1 indicates high and 0 low, label level is set as well
Time elapsed (in nano seconds) since last self healing activity. This is set to -1 until initial self heal
Limit on total number of open file descriptors for the MinIO Server process.
Total number of open file descriptors by the MinIO Server process.
Total bytes read by the process from the underlying storage system including cache,
Total bytes read by the process from the underlying storage system,
Total bytes written by the process to the underlying storage system including page cache,
Total bytes written by the process to the underlying storage system,
Start time for MinIO process per node, time in seconds since Unix epoch.
You can configure alerts using Prometheus Alerting Rules based on the collected MinIO metrics. The Prometheus Alert Manager supports managing alerts produced by the configured alerting rules. Prometheus also supports a Webhook Receiver for publishing alerts to mechanisms not supported by Prometheus AlertManager.