1
0
mirror of https://github.com/minio/docs.git synced 2025-07-30 07:03:26 +03:00

Undeprecate v2 metrics (#1375)

Metrics version 2 is not dead. Continue to feature v3, but restore the
v2 info as an alternate version.

Out of scope: 
Updating the Prometheus and InfluxDB procedures. For now, note they are
v2 and deal with it in a separate PR.

Staged

http://192.241.195.202:9000/staging/metrics-v2-not-deprecated/linux/operations/monitoring/metrics-and-alerts.html

http://192.241.195.202:9000/staging/metrics-v2-not-deprecated/linux/reference/minio-mc-admin/mc-admin-prometheus.html
This commit is contained in:
Andrea Longo
2024-12-05 08:19:18 -07:00
committed by GitHub
parent cfaedc843c
commit 3458e72e40
8 changed files with 367 additions and 159 deletions

View File

@ -21,6 +21,12 @@ The :mc:`mc admin prometheus generate` command generates a metrics scraping conf
For more complete documentation on using MinIO with Prometheus, see :ref:`How to monitor MinIO server with Prometheus <minio-metrics-collect-using-prometheus>`
Starting with MinIO Server :minio-release:`RELEASE.2024-07-15T19-02-30Z` and MinIO Client :mc-release:`RELEASE.2024-07-11T18-01-28Z`, :ref:`metrics version 3 (v3) <minio-metrics-and-alerts>` provides additional endpoints and metrics.
To generate a v3 scrape configuration use the ``--api_version v3`` option.
MinIO recommends new deployments use :ref:`version 3 (v3) <minio-metrics-and-alerts>`.
Existing deployments can continue to use :ref:`metrics version 2 <minio-metrics-v2>`
.. admonition:: Use ``mc admin`` on MinIO Deployments Only
:class: note
@ -32,7 +38,7 @@ For more complete documentation on using MinIO with Prometheus, see :ref:`How to
.. tab-item:: EXAMPLE
The following command generates a Prometheus scrape configuration that collects bucket metrics from the deployment at :term:`alias` ``myminio``:
The following command generates a Prometheus scrape configuration that collects version 2 bucket metrics from the deployment at :term:`alias` ``myminio``:
.. code-block:: shell
:class: copyable
@ -46,9 +52,11 @@ For more complete documentation on using MinIO with Prometheus, see :ref:`How to
.. code-block:: shell
:class: copyable
mc [GLOBALFLAGS] admin prometheus generate \
ALIAS \
[TYPE]
mc [GLOBALFLAGS] admin prometheus generate \
ALIAS \
[TYPE] \
[--api_version v3] \
[--bucket <bucket name>]
.. include:: /includes/common-minio-mc.rst
:start-after: start-minio-syntax
@ -63,26 +71,66 @@ Parameters
The :mc:`alias <mc alias>` of a configured MinIO deployment for which the command generates a Prometheus-compatible configuration file.
.. mc-cmd:: --api-version
:optional:
To generate a scrape configuration for :ref:`v3 metrics <minio-metrics-and-alerts>`, include an ``--api-version v3`` parameter.
``v3`` is the only accepted value.
Omit ``--api-version`` to generate a :ref:`v2 metrics <minio-metrics-v2>` configuration.
.. mc-cmd:: --bucket
:optional:
Only valid for v3 metrics.
For v3 metric types that return bucket-level metrics, specify a bucket name.
Requires :mc-cmd:`~mc admin prometheus generate --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``:
.. code-block:: shell
:class: copyable
mc admin prometheus generate ALIAS api --bucket mybucket --api-version v3
.. mc-cmd:: TYPE
:optional:
The type of metrics to scrape.
.. versionchanged:: RELEASE.2023-10-07T15-07-38Z
Valid values for metrics version 3 are:
``resource`` metrics added
- ``api``
- ``audit``
- ``cluster``
- ``debug``
- ``ilm``
- ``logger``
- ``notification``
- ``replication``
- ``scanner``
- ``system``
Valid values are:
If not specified, a ``v3`` command returns all metrics.
Valid values for metrics version 2 are:
- ``bucket``
- ``cluster``
- ``node``
- ``resource``
If not specified, the command returns cluster metrics.
Cluster metrics also include node metrics.
If not specified, a ``v2`` command returns cluster metrics.
Cluster metrics include rollups of certain node metrics.
Global Flags
Global flags
~~~~~~~~~~~~
.. include:: /includes/common-minio-mc.rst
@ -90,18 +138,18 @@ Global Flags
:end-before: end-minio-mc-globals
Example
-------
Examples
--------
Generate a scrape config for bucket metrics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Generate a default metrics v3 config
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use :mc-cmd:`mc admin prometheus generate` to generate a scrape configuration that collects bucket metrics for a MinIO deployment:
Use :mc-cmd:`mc admin prometheus generate --api-version v3 <mc admin prometheus generate --api-version>` to generate a scrape configuration that collects all v3 metrics for a MinIO deployment:
.. code-block:: shell
:class: copyable
mc admin prometheus generate ALIAS bucket
mc admin prometheus generate ALIAS --api-version v3
- Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
@ -110,9 +158,124 @@ The output resembles the following:
.. code-block:: shell
scrape_configs:
- job_name: minio-job-bucket
- job_name: minio-job
bearer_token: [auth token]
metrics_path: /minio/v2/metrics/bucket
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:
.. code-block:: shell
:class: copyable
mc admin prometheus generate ALIAS cluster --api-version v3
- Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
The output resembles the following:
.. code-block:: shell
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 :mc-cmd:`different metric type <mc admin prometheus generate 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``:
.. code-block:: shell
:class: copyable
mc admin prometheus generate ALIAS replication --bucket mybucket --api-version v3
- Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
The output resembles the following:
.. code-block:: shell
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``:
.. code-block:: shell
:class: copyable
mc admin prometheus generate ALIAS api --bucket mybucket --api-version v3
- Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
The output resembles the following:
.. code-block:: shell
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-cmd:`mc admin prometheus generate` generates a scrape configuration for v2 cluster metrics:
.. code-block:: shell
:class: copyable
mc admin prometheus generate ALIAS
- Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
The output resembles the following:
.. code-block:: shell
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:
.. code-block:: shell
:class: copyable
mc admin prometheus generate ALIAS bucket

View File

@ -19,8 +19,16 @@ The :mc:`mc admin prometheus metrics` command prints Prometheus metrics for a cl
.. end-mc-admin-prometheus-metrics-desc
The output includes additional information about each metric, such as if its value is a ``counter`` or ``gauge``.
For more complete documentation on using MinIO with Prometheus, see :ref:`How to monitor MinIO server with Prometheus <minio-metrics-collect-using-prometheus>`
Starting with MinIO Server :minio-release:`RELEASE.2024-07-15T19-02-30Z` and MinIO Client :mc-release:`RELEASE.2024-07-11T18-01-28Z`, :ref:`metrics version 3 (v3) <minio-metrics-and-alerts>` provides additional endpoints and metrics.
To print v3 metrics use the ``--api_version v3`` option.
MinIO recommends new deployments use :ref:`version 3 (v3) <minio-metrics-and-alerts>`.
Existing deployments can continue to use :ref:`metrics version 2 <minio-metrics-v2>`
.. admonition:: Use ``mc admin`` on MinIO Deployments Only
:class: note
@ -47,8 +55,11 @@ For more complete documentation on using MinIO with Prometheus, see :ref:`How to
:class: copyable
mc [GLOBALFLAGS] admin prometheus metrics \
ALIAS \
[TYPE]
ALIAS \
[TYPE] \
[--api_version v3] \
[--bucket <bucket name>]
.. include:: /includes/common-minio-mc.rst
:start-after: start-minio-syntax
@ -63,27 +74,64 @@ Parameters
The :mc:`alias <mc alias>` of a configured MinIO deployment for which the command prints metrics.
.. mc-cmd:: --api-version
:optional:
To print :ref:`version 3 (v3) <minio-metrics-and-alerts>` metrics, include an ``--api-version v3`` parameter.
``v3`` is the only accepted value.
Omit ``--api-version`` to print :ref:`version 2 (v2) <minio-metrics-v2>` metrics.
.. mc-cmd:: --bucket
:optional:
Requires :mc-cmd:`~mc admin prometheus metrics --api-version`.
For v3 metric types that return bucket-level metrics, specify a bucket name.
``--bucket`` works for the following v3 metric types:
- ``api``
- ``replication``
The following example prints API metrics for the bucket ``mybucket``:
.. code-block:: shell
:class: copyable
mc admin prometheus metrics ALIAS api --bucket mybucket --api-version v3
.. mc-cmd:: TYPE
:optional:
The type of metrics to print.
.. versionchanged:: RELEASE.2023-10-07T15-07-38Z
Valid values for metrics version 3 are:
``resource`` metrics added
- ``api``
- ``audit``
- ``cluster``
- ``debug``
- ``ilm``
- ``logger``
- ``notification``
- ``replication``
- ``scanner``
- ``system``
Valid values are:
If not specified, a ``v3`` command returns all metrics.
Valid values for metrics version 2 are:
- ``bucket``
- ``cluster``
- ``node``
- ``resource``
If not specified, the command returns cluster metrics.
If not specified, a ``v2`` command returns cluster metrics.
Cluster metrics include rollups of certain node metrics.
The output includes additional information about each metric, such as if its value is a ``counter`` or ``gauge``.
Global Flags
Global flags
~~~~~~~~~~~~
.. include:: /includes/common-minio-mc.rst
@ -91,118 +139,67 @@ Global Flags
:end-before: end-minio-mc-globals
Example
-------
Examples
--------
Print bucket metrics
~~~~~~~~~~~~~~~~~~~~
Print v3 metrics
~~~~~~~~~~~~~~~~
Use :mc-cmd:`mc admin prometheus metrics` to print bucket metrics for a MinIO deployment:
Use :mc-cmd:`mc admin prometheus metrics --api-version v3 <mc admin prometheus metrics --api-version>` to print all available v3 metrics and their current values for a MinIO deployment:
.. code-block:: shell
:class: copyable
mc admin prometheus metrics ALIAS bucket
mc admin prometheus metrics ALIAS --api-version v3
- Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
The output resembles the following:
To print a specific type of metrics, include the :mc-cmd:`~mc admin prometheus metrics TYPE`.
The following prints all scanner metrics for a deployment:
.. code-block:: shell
:class: copyable
# HELP minio_bucket_objects_size_distribution Distribution of object sizes in the bucket, includes label for the bucket name
# TYPE minio_bucket_objects_size_distribution gauge
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_1024B_AND_1_MB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_1024_B_AND_64_KB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_10_MB_AND_64_MB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_128_MB_AND_512_MB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_1_MB_AND_10_MB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_256_KB_AND_512_KB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_512_KB_AND_1_MB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_64_KB_AND_256_KB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_64_MB_AND_128_MB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="GREATER_THAN_512_MB",server="127.0.0.1:9000"} 0
minio_bucket_objects_size_distribution{bucket="mybucket",range="LESS_THAN_1024_B",server="127.0.0.1:9000"} 0
# HELP minio_bucket_objects_version_distribution Distribution of object sizes in the bucket, includes label for the bucket name
# TYPE minio_bucket_objects_version_distribution gauge
minio_bucket_objects_version_distribution{bucket="mybucket",range="BETWEEN_1000_AND_10000",server="127.0.0.1:9000"} 0
minio_bucket_objects_version_distribution{bucket="mybucket",range="BETWEEN_100_AND_1000",server="127.0.0.1:9000"} 0
minio_bucket_objects_version_distribution{bucket="mybucket",range="BETWEEN_10_AND_100",server="127.0.0.1:9000"} 0
minio_bucket_objects_version_distribution{bucket="mybucket",range="BETWEEN_2_AND_10",server="127.0.0.1:9000"} 0
minio_bucket_objects_version_distribution{bucket="mybucket",range="GREATER_THAN_10000",server="127.0.0.1:9000"} 0
minio_bucket_objects_version_distribution{bucket="mybucket",range="SINGLE_VERSION",server="127.0.0.1:9000"} 0
minio_bucket_objects_version_distribution{bucket="mybucket",range="UNVERSIONED",server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_delete_tagging_requests_failures Number of failures in DELETE tagging proxy requests to replication target
# TYPE minio_bucket_replication_proxied_delete_tagging_requests_failures counter
minio_bucket_replication_proxied_delete_tagging_requests_failures{server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_delete_tagging_requests_total Number of DELETE tagging requests proxied to replication target
# TYPE minio_bucket_replication_proxied_delete_tagging_requests_total counter
minio_bucket_replication_proxied_delete_tagging_requests_total{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_get_requests_failures Number of failures in GET requests proxied to replication target
# TYPE minio_bucket_replication_proxied_get_requests_failures counter
minio_bucket_replication_proxied_get_requests_failures{server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_get_requests_total Number of GET requests proxied to replication target
# TYPE minio_bucket_replication_proxied_get_requests_total counter
minio_bucket_replication_proxied_get_requests_total{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_get_tagging_requests_failures Number of failures in GET tagging proxy requests to replication target
# TYPE minio_bucket_replication_proxied_get_tagging_requests_failures counter
minio_bucket_replication_proxied_get_tagging_requests_failures{server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_get_tagging_requests_total Number of GET tagging requests proxied to replication target
# TYPE minio_bucket_replication_proxied_get_tagging_requests_total counter
minio_bucket_replication_proxied_get_tagging_requests_total{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_head_requests_failures Number of failures in HEAD requests proxied to replication target
# TYPE minio_bucket_replication_proxied_head_requests_failures counter
minio_bucket_replication_proxied_head_requests_failures{server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_head_requests_total Number of HEAD requests proxied to replication target
# TYPE minio_bucket_replication_proxied_head_requests_total counter
minio_bucket_replication_proxied_head_requests_total{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_put_tagging_requests_failures Number of failures in PUT tagging proxy requests to replication target
# TYPE minio_bucket_replication_proxied_put_tagging_requests_failures counter
minio_bucket_replication_proxied_put_tagging_requests_failures{server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_proxied_put_tagging_requests_total Number of PUT tagging requests proxied to replication target
# TYPE minio_bucket_replication_proxied_put_tagging_requests_total counter
minio_bucket_replication_proxied_put_tagging_requests_total{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_received_bytes Total number of bytes replicated to this bucket from another source bucket
# TYPE minio_bucket_replication_received_bytes counter
minio_bucket_replication_received_bytes{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_replication_received_count Total number of objects received by this bucket from another source bucket
# TYPE minio_bucket_replication_received_count gauge
minio_bucket_replication_received_count{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_requests_4xx_errors_total Total number of S3 requests with (4xx) errors on a bucket
# TYPE minio_bucket_requests_4xx_errors_total counter
minio_bucket_requests_4xx_errors_total{api="getbucketobjectlockconfig",bucket="mybucket",server="127.0.0.1:9000"} 1
# HELP minio_bucket_requests_inflight_total Total number of S3 requests currently in flight on a bucket
# TYPE minio_bucket_requests_inflight_total gauge
minio_bucket_requests_inflight_total{api="getbucketlocation",bucket="mybucket",server="127.0.0.1:9000"} 0
minio_bucket_requests_inflight_total{api="getbucketobjectlockconfig",bucket="mybucket",server="127.0.0.1:9000"} 0
minio_bucket_requests_inflight_total{api="headbucket",bucket="mybucket",server="127.0.0.1:9000"} 0
minio_bucket_requests_inflight_total{api="listobjectsv2",bucket="mybucket",server="127.0.0.1:9000"} 0
minio_bucket_requests_inflight_total{api="putobject",bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_requests_total Total number of S3 requests on a bucket
# TYPE minio_bucket_requests_total counter
minio_bucket_requests_total{api="getbucketlocation",bucket="mybucket",server="127.0.0.1:9000"} 2
minio_bucket_requests_total{api="getbucketobjectlockconfig",bucket="mybucket",server="127.0.0.1:9000"} 1
minio_bucket_requests_total{api="headbucket",bucket="mybucket",server="127.0.0.1:9000"} 2
minio_bucket_requests_total{api="listobjectsv2",bucket="mybucket",server="127.0.0.1:9000"} 1
minio_bucket_requests_total{api="putobject",bucket="mybucket",server="127.0.0.1:9000"} 1
# HELP minio_bucket_traffic_received_bytes Total number of S3 bytes received for this bucket
# TYPE minio_bucket_traffic_received_bytes gauge
minio_bucket_traffic_received_bytes{bucket="mybucket",server="127.0.0.1:9000"} 178
# HELP minio_bucket_traffic_sent_bytes Total number of S3 bytes sent for this bucket
# TYPE minio_bucket_traffic_sent_bytes gauge
minio_bucket_traffic_sent_bytes{bucket="mybucket",server="127.0.0.1:9000"} 1232
# HELP minio_bucket_usage_deletemarker_total Total number of delete markers
# TYPE minio_bucket_usage_deletemarker_total gauge
minio_bucket_usage_deletemarker_total{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_usage_object_total Total number of objects
# TYPE minio_bucket_usage_object_total gauge
minio_bucket_usage_object_total{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_usage_total_bytes Total bucket size in bytes
# TYPE minio_bucket_usage_total_bytes gauge
minio_bucket_usage_total_bytes{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_bucket_usage_version_total Total number of versions (includes delete marker)
# TYPE minio_bucket_usage_version_total gauge
minio_bucket_usage_version_total{bucket="mybucket",server="127.0.0.1:9000"} 0
# HELP minio_usage_last_activity_nano_seconds Time elapsed (in nano seconds) since last scan activity
# TYPE minio_usage_last_activity_nano_seconds gauge
minio_usage_last_activity_nano_seconds{server="127.0.0.1:9000"} 5.6046668864e+10
mc admin prometheus metrics ALIAS scanner --api-version v3
Print v3 API or bucket replication metrics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Certain v3 metric types accept a :mc-cmd:`~mc admin prometheus metrics --bucket` parameter to specify the bucket for which to print metrics.
The following example prints v3 replication metrics for bucket ``mybucket``:
.. code-block:: shell
:class: copyable
mc admin prometheus metrics ALIAS replication --bucket mybucket --api-version v3
- Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
To print API metrics for the bucket, replace ``replication`` with ``api``.
Print v2 cluster metrics
~~~~~~~~~~~~~~~~~~~~~~~~
By default, :mc-cmd:`mc admin prometheus metrics` prints v2 cluster metrics:
.. code-block:: shell
:class: copyable
mc admin prometheus metrics ALIAS
- Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
Print other types of v2 metrics
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To print another type of v2 metrics, specify the desired :mc-cmd:`~mc admin prometheus metrics TYPE`.
The following example prints v2 bucket metrics:
.. code-block:: shell
:class: copyable
mc admin prometheus metrics ALIAS bucket
Accepted values are ``bucket``, ``cluster``, ``node``, and ``resource``.