Documentation

mc admin prometheus generate

Description

The mc admin prometheus generate command generates a metrics scraping configuration file for use with Prometheus.

For more complete documentation on using MinIO with Prometheus, see How to monitor MinIO server with Prometheus

Starting with MinIO Server RELEASE.2024-07-15T19-02-30Z and MinIO Client RELEASE.2024-07-11T18-01-28Z, metrics version 3 (v3) provides additional endpoints and metrics. To generate a v3 scrape configuration use the --api_version v3 option.

MinIO recommends new deployments use version 3 (v3). Existing deployments can continue to use metrics version 2

Use mc admin on MinIO Deployments Only

MinIO does not support using mc admin commands with other S3-compatible services, regardless of their claimed compatibility with MinIO deployments.

The following command generates a Prometheus scrape configuration that collects version 2 bucket metrics from the deployment at alias myminio:

mc admin prometheus generate myminio bucket

The command has the following syntax:

mc [GLOBALFLAGS] admin prometheus generate                                        \
                                  ALIAS                                           \
                                  [TYPE]                                          \
                                  [--api_version v3]                              \
                                  [--bucket <bucket name>]
  • Brackets [] indicate optional parameters.

  • Parameters sharing a line are mutually dependent.

  • Parameters separated using the pipe | operator are mutually exclusive.

Copy the example to a text editor and modify as-needed before running the command in the terminal/shell.

Parameters

ALIAS
Required

The alias of a configured MinIO deployment for which the command generates a Prometheus-compatible configuration file.

--api-version
Optional

To generate a scrape configuration for v3 metrics, include an --api-version v3 parameter. v3 is the only accepted value.

Omit --api-version to generate a v2 metrics configuration.

--bucket
Optional

Only valid for v3 metrics.

For v3 metric types that return bucket-level metrics, specify a bucket name. Requires --api-version.

--bucket works for the following v3 metric types:

  • api

  • replication

The following example generates a configuration for API metrics from the bucket mybucket:

mc admin prometheus generate ALIAS api --bucket mybucket --api-version v3
TYPE
Optional

The type of metrics to scrape.

Valid values for metrics version 3 are:

  • api

  • audit

  • cluster

  • debug

  • ilm

  • logger

  • notification

  • replication

  • scanner

  • system

If not specified, a v3 command returns all metrics.

Valid values for metrics version 2 are:

  • bucket

  • cluster

  • node

  • resource

If not specified, a v2 command returns cluster metrics. Cluster metrics include rollups of certain node metrics.

Global flags

This command supports any of the global flags.

Examples

Generate a default metrics v3 config

Use mc admin prometheus generate --api-version v3 to generate a scrape configuration that collects all v3 metrics for a MinIO deployment:

mc admin prometheus generate ALIAS --api-version v3
  • Replace ALIAS with the alias of the MinIO deployment.

The output resembles the following:

scrape_configs:
- job_name: minio-job
  bearer_token: [auth token]
  metrics_path: /minio/metrics/v3
  scheme: http
  static_configs:
  - targets: ['localhost:9000']

Generate a v3 metrics config for another type

To generate a configuration for another metric type, specify the type. The following generates a scrape configuration for v3 cluster metrics:

mc admin prometheus generate ALIAS cluster --api-version v3
  • Replace ALIAS with the alias of the MinIO deployment.

The output resembles the following:

scrape_configs:
- job_name: minio-job-cluster
  bearer_token: [auth token]
  metrics_path: /minio/metrics/v3/cluster
  scheme: http
  static_configs:
  - targets: ['localhost:9000']

To generate a configuration for a different metric type, replace cluster with the desired type.

Generate a v3 bucket replication metrics config

The following example generates a scrape configuration for v3 replication metrics of bucket mybucket:

mc admin prometheus generate ALIAS replication --bucket mybucket --api-version v3
  • Replace ALIAS with the alias of the MinIO deployment.

The output resembles the following:

scrape_configs:
- job_name: minio-job-replication
  bearer_token: [auth token]
  metrics_path: /minio/metrics/v3/bucket/replication/mybucket
  scheme: https
  static_configs:
  - targets: [`localhost:9000`]

Generate a v3 config for bucket API metrics

The following example generates a scrape configuration for v3 API metrics for bucket mybucket:

mc admin prometheus generate ALIAS api --bucket mybucket --api-version v3
  • Replace ALIAS with the alias of the MinIO deployment.

The output resembles the following:

scrape_configs:
- job_name: minio-job-api
  bearer_token: [auth token]
  metrics_path: /minio/metrics/v3/bucket/api/mybucket
  scheme: https
  static_configs:
  - targets: [`localhost:9000`]

Generate a default metrics v2 config

By default, mc admin prometheus generate generates a scrape configuration for v2 cluster metrics:

mc admin prometheus generate ALIAS
  • Replace ALIAS with the alias of the MinIO deployment.

The output resembles the following:

scrape_configs:
- job_name: minio-job
  bearer_token: [auth token]
  metrics_path: /minio/v2/metrics
  scheme: http
  static_configs:
  - targets: ['localhost:9000']

Generate a v2 config for other metric types

To generate a configuration for another metric type, specify the type. The following generates a scrape configuration for v2 bucket metrics:

mc admin prometheus generate ALIAS bucket