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,9 @@ The procedure on this page documents the following:
- Configuring a Prometheus service to scrape and display metrics from a MinIO deployment - Configuring a Prometheus service to scrape and display metrics from a MinIO deployment
- Configuring an Alert Rule on a MinIO Metric to trigger an AlertManager action - Configuring an Alert Rule on a MinIO Metric to trigger an AlertManager action
These instructions use :ref:`version 2 metrics. <minio-metrics-v2>`
For more about metrics API versions, see :ref:`Metrics and alerts. <minio-metrics-and-alerts>`
.. admonition:: Prerequisites .. admonition:: Prerequisites
:class: note :class: note
@ -32,6 +35,7 @@ The procedure on this page documents the following:
- An :mc:`mc` installation on your local host configured to :ref:`access <alias>` the MinIO deployment - An :mc:`mc` installation on your local host configured to :ref:`access <alias>` the MinIO deployment
Configure Prometheus to Collect and Alert using MinIO Metrics Configure Prometheus to Collect and Alert using MinIO Metrics
------------------------------------------------------------- -------------------------------------------------------------

View File

@ -11,7 +11,6 @@ Monitor a MinIO Server with Grafana
:depth: 2 :depth: 2
`Grafana <https://grafana.com/>`__ allows you to query, visualize, alert on and understand your metrics no matter where they are stored. `Grafana <https://grafana.com/>`__ allows you to query, visualize, alert on and understand your metrics no matter where they are stored.
Create, explore, and share dashboards with your team and foster a data driven culture.
Prerequisites Prerequisites
------------- -------------
@ -20,6 +19,15 @@ Prerequisites
- An existing MinIO deployment with network access to the Prometheus deployment - An existing MinIO deployment with network access to the Prometheus deployment
- `Grafana installed <https://grafana.com/grafana/download>`__ - `Grafana installed <https://grafana.com/grafana/download>`__
.. admonition:: Grafana dashboards use metrics version 2
:class: note
The MinIO Grafana dashboards use :ref:`metrics version 2 <minio-metrics-v2>`.
For more about metrics API versions, see :ref:`Metrics and alerts. <minio-metrics-and-alerts>`
Version 3 metrics require creating your own dashboard.
For more information about dashboards, see `the Grafana documentation. <https://grafana.com/docs/grafana/latest/dashboards/>`__
MinIO Grafana Dashboard MinIO Grafana Dashboard
----------------------- -----------------------

View File

@ -33,11 +33,9 @@ A response code of ``200 OK`` indicates the MinIO server is
online and functional. Any other HTTP codes indicate an issue with reaching online and functional. Any other HTTP codes indicate an issue with reaching
the server, such as a transient network issue or potential downtime. the server, such as a transient network issue or potential downtime.
The healthcheck probe alone cannot determine if a MinIO server is offline - only The healthcheck probe alone cannot determine if a MinIO server is offline.
that the current host machine cannot reach the server. Consider configuring Instead, the probe determines whether the current host machine can reach the server.
a Prometheus :ref:`alert <minio-metrics-and-alerts>` using the Consider configuring a Prometheus :ref:`alert <minio-metrics-and-alerts>` using ``minio_cluster_health_nodes_offline_count`` for :ref:`metrics v3 <minio-available-v3-cluster-metrics>` or ``minio_cluster_nodes_offline_total`` for :ref:`metrics v2 <minio-available-cluster-metrics>` to detect whether one or more MinIO nodes are offline.
``minio_cluster_nodes_offline_total`` metric to detect whether one or
more MinIO nodes are offline.
.. _minio-cluster-write-quorum: .. _minio-cluster-write-quorum:

View File

@ -3,7 +3,7 @@
.. _minio-metrics-and-alerts: .. _minio-metrics-and-alerts:
================== ==================
Metrics and Alerts Metrics and alerts
================== ==================
.. default-domain:: minio .. default-domain:: minio
@ -12,15 +12,24 @@ Metrics and Alerts
:local: :local:
:depth: 2 :depth: 2
.. admonition:: Metrics Version 2 Deprecated
:class: note
Starting with MinIO Server :minio-release:`RELEASE.2024-07-15T19-02-30Z` and MinIO Client :mc-release:`RELEASE.2024-07-11T18-01-28Z`, metrics version 3 replaces the deprecated :ref:`metrics version 2 <minio-metrics-v2>`. MinIO publishes metrics using the :prometheus-docs:`Prometheus Data Model <concepts/data_model/>`.
MinIO publishes cluster and node metrics using the :prometheus-docs:`Prometheus Data Model <concepts/data_model/>`.
You can use any scraping tool to pull metrics data from MinIO for further analysis and alerting. You can use any scraping tool to pull metrics data from MinIO for further analysis and alerting.
For metrics version 3, all metrics are available under the base ``/minio/metrics/v3`` endpoint by appending an additional path for each category. Starting with MinIO Server :minio-release:`RELEASE.2024-07-15T19-02-30Z` and MinIO Client :mc-release:`RELEASE.2024-07-11T18-01-28Z`, metrics version 3 provides additional endpoints.
MinIO recommends version 3 for new deployments.
.. admonition:: Metrics version 2
:class: note
Existing deployments can continue to use version 2 :ref:`metrics <minio-metrics-v2>` and :ref:`Grafana dashboards <minio-grafana>`.
Version 3 Endpoints
-------------------
For metrics version 3, all metrics are available under the base ``/minio/metrics/v3`` endpoint.
You can scrape the base endpoint to collect all metrics in a single operation, or append an optional path to return a specific category.
For example, the following endpoint returns audit metrics: For example, the following endpoint returns audit metrics:
@ -98,7 +107,7 @@ MinIO provides the following scraping endpoints, relative to the base URL:
``/system/process`` ``/system/process``
For a complete list of metrics for each endpoint, see :ref:`Available Metrics <minio-metrics-and-alerts-available-metrics>`. For a complete list of metrics for each endpoint, see :ref:`Available version 3 etrics <minio-metrics-and-alerts-available-metrics>`.
.. cond:: k8s .. cond:: k8s
@ -114,19 +123,12 @@ For a complete list of metrics for each endpoint, see :ref:`Available Metrics <m
- Set :envvar:`MINIO_PROMETHEUS_URL` to the URL of the Prometheus service - Set :envvar:`MINIO_PROMETHEUS_URL` to the URL of the Prometheus service
- Set :envvar:`MINIO_PROMETHEUS_JOB_ID` to the unique job ID assigned to the collected metrics - Set :envvar:`MINIO_PROMETHEUS_JOB_ID` to the unique job ID assigned to the collected metrics
MinIO Grafana Dashboard
-----------------------
MinIO also publishes two :ref:`Grafana Dashboards <minio-grafana>` for visualizing collected metrics.
For more complete documentation on configuring a Prometheus-compatible data source for Grafana, see the :prometheus-docs:`Prometheus documentation on Grafana Support <visualization/grafana/>`.
.. _minio-metrics-and-alerts-available-metrics: .. _minio-metrics-and-alerts-available-metrics:
Available Metrics Available version 3 metrics
----------------- ---------------------------
MinIO publishes a number of metrics at the cluster, node, or bucket levels. MinIO publishes a number of metrics for clusters, API requests, buckets, and other aspects of the MinIO service:
Each metric includes a label for the MinIO server which generated that metric.
- :ref:`API Metrics <minio-available-v3-api-metrics>` - :ref:`API Metrics <minio-available-v3-api-metrics>`
- :ref:`Audit Metrics <minio-available-v3-audit-metrics>` - :ref:`Audit Metrics <minio-available-v3-audit-metrics>`
@ -139,6 +141,7 @@ Each metric includes a label for the MinIO server which generated that metric.
- :ref:`Scanner Metrics <minio-available-v3-scanner-metrics>` - :ref:`Scanner Metrics <minio-available-v3-scanner-metrics>`
- :ref:`System Metrics <minio-available-v3-system-metrics>` - :ref:`System Metrics <minio-available-v3-system-metrics>`
Many metrics include labels identifying the resource which generated that metric and other relevant details.
.. _minio-available-v3-api-metrics: .. _minio-available-v3-api-metrics:
@ -197,3 +200,4 @@ Each metric includes a label for the MinIO server which generated that metric.
/operations/monitoring/collect-minio-metrics-using-prometheus /operations/monitoring/collect-minio-metrics-using-prometheus
/operations/monitoring/monitor-and-alert-using-influxdb /operations/monitoring/monitor-and-alert-using-influxdb
/operations/monitoring/metrics-v2

View File

@ -1,8 +1,7 @@
:orphan:
.. _minio-metrics-v2: .. _minio-metrics-v2:
================= =================
Metrics Version 2 Metrics version 2
================= =================
.. default-domain:: minio .. default-domain:: minio
@ -11,12 +10,44 @@ Metrics Version 2
:local: :local:
:depth: 3 :depth: 3
.. admonition:: Metrics Version 2 Deprecated
:class: note
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 <minio-metrics-and-alerts>` replaces the deprecated metrics version 2. MinIO publishes cluster and node metrics using the :prometheus-docs:`Prometheus Data Model <concepts/data_model/>`.
You can use any scraping tool to pull metrics data from MinIO for further analysis and alerting.
The following sections describe the deprecated endpoints and metrics. Version 3 Endpoints
-------------------
Metrics version 2 provides metrics organized into three categories:
- :ref:`Cluster Metrics <minio-available-cluster-metrics>`
- :ref:`Bucket Metrics <minio-available-bucket-metrics>`
- :ref:`Resource Metrics <minio-available-resource-metrics>`
Each v2 endpoint returns all metrics for its category.
For example, scraping the following endpoint returns all cluster metrics:
.. code-block:: shell
:class: copyable
http://HOSTNAME:PORT/minio/v2/metrics/cluster
The base endpoint alone, ``/minio/v2/metrics/``, returns cluster metrics.
For more flexible scraping and a wider range of metrics, use :ref:`metrics version 3. <minio-metrics-and-alerts>`
Existing deployments can continue to use version 2 :ref:`metrics <minio-metrics-v2>` and :ref:`Grafana dashboards <minio-grafana>`.
MinIO Grafana dashboard
-----------------------
MinIO publishes two :ref:`Grafana Dashboards <minio-grafana>` for visualizing v2 metrics.
For more complete documentation on configuring a Prometheus-compatible data source for Grafana, see the :prometheus-docs:`Prometheus documentation on Grafana Support <visualization/grafana/>`.
Available version 2 metrics
---------------------------
The following sections describe the version 2 endpoints and metrics.
.. tab-set:: .. tab-set::

View File

@ -27,6 +27,9 @@ The procedure on this page documents the following:
- An existing MinIO deployment with network access to the InfluxDB deployment - An existing MinIO deployment with network access to the InfluxDB deployment
- An :mc:`mc` installation on your local host configured to :ref:`access <alias>` the MinIO deployment - An :mc:`mc` installation on your local host configured to :ref:`access <alias>` the MinIO deployment
These instructions use :ref:`version 2 metrics. <minio-metrics-v2>`
For more about metrics API versions, see :ref:`Metrics and alerts. <minio-metrics-and-alerts>`
.. cond:: k8s .. cond:: k8s
This procedure assumes all necessary network control components, such as Ingress or Load Balancers, to facilitate access between the MinIO Tenant and the InfluxDB service. This procedure assumes all necessary network control components, such as Ingress or Load Balancers, to facilitate access between the MinIO Tenant and the InfluxDB service.

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>` 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 .. admonition:: Use ``mc admin`` on MinIO Deployments Only
:class: note :class: note
@ -32,7 +38,7 @@ For more complete documentation on using MinIO with Prometheus, see :ref:`How to
.. tab-item:: EXAMPLE .. 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 .. code-block:: shell
:class: copyable :class: copyable
@ -46,9 +52,11 @@ For more complete documentation on using MinIO with Prometheus, see :ref:`How to
.. code-block:: shell .. code-block:: shell
:class: copyable :class: copyable
mc [GLOBALFLAGS] admin prometheus generate \ mc [GLOBALFLAGS] admin prometheus generate \
ALIAS \ ALIAS \
[TYPE] [TYPE] \
[--api_version v3] \
[--bucket <bucket name>]
.. include:: /includes/common-minio-mc.rst .. include:: /includes/common-minio-mc.rst
:start-after: start-minio-syntax :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. 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 .. mc-cmd:: TYPE
:optional: :optional:
The type of metrics to scrape. 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`` - ``bucket``
- ``cluster`` - ``cluster``
- ``node`` - ``node``
- ``resource`` - ``resource``
If not specified, the command returns cluster metrics. If not specified, a ``v2`` command returns cluster metrics.
Cluster metrics also include node metrics. Cluster metrics include rollups of certain node metrics.
Global Flags
Global flags
~~~~~~~~~~~~ ~~~~~~~~~~~~
.. include:: /includes/common-minio-mc.rst .. include:: /includes/common-minio-mc.rst
@ -90,18 +138,18 @@ Global Flags
:end-before: end-minio-mc-globals :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 .. code-block:: shell
:class: copyable :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. - 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 .. code-block:: shell
scrape_configs: scrape_configs:
- job_name: minio-job-bucket - job_name: minio-job
bearer_token: [auth token] bearer_token: [auth token]
metrics_path: /minio/v2/metrics/bucket metrics_path: /minio/metrics/v3
scheme: http scheme: http
static_configs: static_configs:
- targets: ['localhost:9000'] - 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 .. 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>` 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 .. admonition:: Use ``mc admin`` on MinIO Deployments Only
:class: note :class: note
@ -47,8 +55,11 @@ For more complete documentation on using MinIO with Prometheus, see :ref:`How to
:class: copyable :class: copyable
mc [GLOBALFLAGS] admin prometheus metrics \ mc [GLOBALFLAGS] admin prometheus metrics \
ALIAS \ ALIAS \
[TYPE] [TYPE] \
[--api_version v3] \
[--bucket <bucket name>]
.. include:: /includes/common-minio-mc.rst .. include:: /includes/common-minio-mc.rst
:start-after: start-minio-syntax :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. 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 .. mc-cmd:: TYPE
:optional: :optional:
The type of metrics to print. 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`` - ``bucket``
- ``cluster`` - ``cluster``
- ``node`` - ``node``
- ``resource`` - ``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. 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 .. include:: /includes/common-minio-mc.rst
@ -91,118 +139,67 @@ Global Flags
:end-before: end-minio-mc-globals :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 .. code-block:: shell
:class: copyable :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. - 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 .. code-block:: shell
:class: copyable
# HELP minio_bucket_objects_size_distribution Distribution of object sizes in the bucket, includes label for the bucket name mc admin prometheus metrics ALIAS scanner --api-version v3
# 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 Print v3 API or bucket replication metrics
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 Certain v3 metric types accept a :mc-cmd:`~mc admin prometheus metrics --bucket` parameter to specify the bucket for which to print metrics.
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_1_MB_AND_10_MB",server="127.0.0.1:9000"} 0 The following example prints v3 replication metrics for bucket ``mybucket``:
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 .. code-block:: shell
minio_bucket_objects_size_distribution{bucket="mybucket",range="BETWEEN_64_KB_AND_256_KB",server="127.0.0.1:9000"} 0 :class: copyable
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 mc admin prometheus metrics ALIAS replication --bucket mybucket --api-version v3
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 - Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
# 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 To print API metrics for the bucket, replace ``replication`` with ``api``.
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 Print v2 cluster metrics
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 By default, :mc-cmd:`mc admin prometheus metrics` prints v2 cluster metrics:
# 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 .. code-block:: shell
minio_bucket_replication_proxied_delete_tagging_requests_failures{server="127.0.0.1:9000"} 0 :class: copyable
# 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 mc admin prometheus metrics ALIAS
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 - Replace ``ALIAS`` with the :mc-cmd:`alias <mc alias>` of the MinIO deployment.
# 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 Print other types of v2 metrics
# 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 To print another type of v2 metrics, specify the desired :mc-cmd:`~mc admin prometheus metrics TYPE`.
# TYPE minio_bucket_replication_proxied_get_tagging_requests_failures counter The following example prints v2 bucket metrics:
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 .. code-block:: shell
# TYPE minio_bucket_replication_proxied_get_tagging_requests_total counter :class: copyable
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 mc admin prometheus metrics ALIAS bucket
# TYPE minio_bucket_replication_proxied_head_requests_failures counter
minio_bucket_replication_proxied_head_requests_failures{server="127.0.0.1:9000"} 0 Accepted values are ``bucket``, ``cluster``, ``node``, and ``resource``.
# 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