diff --git a/source/concepts/erasure-coding.rst b/source/concepts/erasure-coding.rst index 4d114863..9975f114 100644 --- a/source/concepts/erasure-coding.rst +++ b/source/concepts/erasure-coding.rst @@ -157,6 +157,8 @@ on any single drive. The specified parity for an object also dictates the minimum number of Erasure Set drives ("Quorum") required for MinIO to either read or write that object: +.. _minio-read-quorum: + Read Quorum The minimum number of Erasure Set drives required for MinIO to serve read operations. MinIO can automatically reconstruct an object @@ -165,6 +167,8 @@ Read Quorum MinIO Read Quorum is ``DRIVES - (EC:N)``. +.. _minio-write-quorum: + Write Quorum The minimum number of Erasure Set drives required for MinIO to serve write operations. MinIO requires enough available drives to diff --git a/source/conf.py b/source/conf.py index 95ca69bb..51804c0d 100644 --- a/source/conf.py +++ b/source/conf.py @@ -40,12 +40,12 @@ extensions = [ 'minio', 'sphinx_copybutton', 'sphinx_tabs.tabs', - 'recommonmark', 'sphinx_markdown_tables', 'sphinx-prompt', 'sphinx_substitution_extensions', 'sphinx_togglebutton', 'sphinxcontrib.images', + 'myst_parser', ] # -- External Links @@ -66,6 +66,7 @@ extlinks = { 'mc-release' : ('https://github.com/minio/mc/releases/tag/%s',''), 'legacy' : ('https://docs.min.io/docs/%s',''), 'docs-k8s' : ('https://docs.min.io/minio/k8s/%s',''), + 'prometheus-docs' : ('https://prometheus.io/docs/%s',''), } @@ -75,7 +76,7 @@ templates_path = ['_templates'] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. -exclude_patterns = ['includes/*.rst'] +exclude_patterns = ['includes/*.rst', 'includes/imports/*'] # Copy-Button Customization diff --git a/source/monitoring/healthcheck-probe.rst b/source/monitoring/healthcheck-probe.rst new file mode 100644 index 00000000..829460d4 --- /dev/null +++ b/source/monitoring/healthcheck-probe.rst @@ -0,0 +1,130 @@ +.. _minio-healthcheck-api: + +=============== +Healthcheck API +=============== + +.. default-domain:: minio + +.. contents:: Table of Contents + :local: + :depth: 1 + +MinIO exposes unauthenticated endpoints for probing node uptime and cluster +:ref:`high availability ` for simple healthchecks. These +endpoints return an HTTP status code indicating whether the underlying +resource is healthy or satisfies read/write quorum. MinIO exposes no other data +through these endpoints. + +Node Liveness +------------- + +Use the following endpoint to test if a MinIO server is online: + +.. code-block:: shell + :class: copyable + + curl -I https://minio.example.net:9000/minio/health/live + +Replace ``https://minio.example.net:9000`` with the DNS hostname of the +MinIO server to check. + +A response code of ``200 OK`` indicates the MinIO server is +online and functional. Any other HTTP codes indicate an issue with reaching +the server, such as a transient network issue or potential downtime. + +The healthcheck probe alone cannot determine if a MinIO server is offline - only +that the current host machine cannot reach the server. Consider configuring +a Prometheus :ref:`alert ` using the +:metric:`minio_cluster_nodes_offline_total` metric to detect whether one or +more MinIO nodes are offline. + +Cluster Write Quorum +-------------------- + +Use the following endpoint to test if a MinIO cluster has +:ref:`write quorum `: + +.. code-block:: shell + :class: copyable + + curl -I https://minio.example.net:9000/minio/health/cluster + +Replace ``https://minio.example.net:9000`` with the DNS hostname of a node +in the MinIO cluster to check. For clusters using a load balancer to manage +incoming connections, specify the hostname for the load balancer. + +A response code of ``200 OK`` indicates that the MinIO cluster has +sufficient MinIO servers online to meet write quorum. A response code of +``503 Service Unavailable`` indicates the cluster does not currently have +write quorum. + +The healthcheck probe alone cannot determine if a MinIO server is offline or +processing write operations normally - only whether enough MinIO servers are +online to meet write quorum requirements based on the configured +:ref:`erasure code parity `. Consider configuring a Prometheus +:ref:`alert ` using one of the following +metrics to detect potential issues or errors on the MinIO cluster: + +- :metric:`minio_cluster_nodes_offline_total` to alert if one or more + MinIO nodes are offline. + +- :metric:`minio_node_disk_free_bytes` to alert if the cluster is running + low on free disk space. + +Cluster Read Quorum +-------------------- + +Use the following endpoint to test if a MinIO cluster has +:ref:`read quorum `: + +.. code-block:: shell + :class: copyable + + curl -I https://minio.example.net:9000/minio/health/cluster/read + +Replace ``https://minio.example.net:9000`` with the DNS hostname of a node +in the MinIO cluster to check. For clusters using a load balancer to manage +incoming connections, specify the hostname for the load balancer. + +A response code of ``200 OK`` indicates that the MinIO cluster has +sufficient MinIO servers online to meet read quorum. A response code of +``503 Service Unavailable`` indicates the cluster does not currently have +read quorum. + +The healthcheck probe alone cannot determine if a MinIO server is offline or +processing read operations normally - only whether enough MinIO servers are +online to meet read quorum requirements based on the configured +:ref:`erasure code parity `. Consider configuring a Prometheus +:ref:`alert ` using the +:metric:`minio_cluster_nodes_offline_total` metric to detect whether one or more +MinIO nodes are offline. + +Cluster Maintenance Check +------------------------- + +Use the following endpoint to test if the MinIO cluster can maintain +both :ref:`read ` and :ref:`write ` +if the specified MinIO server is taken down for maintenance: + +.. code-block:: shell + :class: copyable + + curl -I https://minio.example.net:9000/minio/health/cluster?maintenance=true + +Replace ``https://minio.example.net:9000`` with the DNS hostname of a node +in the MinIO cluster to check. For clusters using a load balancer to manage +incoming connections, specify the hostname for the load balancer. + +A response code of ``200 OK`` indicates that the MinIO cluster has +sufficient MinIO servers online to meet write quorum. A response code of +``412 Precondition Failed`` indicates the cluster will lose quorum if the +MinIO server goes offline. + +The healthcheck probe alone cannot determine if a MinIO server is offline - only +whether enough MinIO servers will be online after taking the node down for +maintenance to meet read and write quorum requirements based on the configured +:ref:`erasure code parity `. Consider configuring a Prometheus +:ref:`alert ` using the +:metric:`minio_cluster_nodes_offline_total` metric to detect whether one or more +MinIO nodes are offline. diff --git a/source/monitoring/logging/minio-logging.rst b/source/monitoring/logging/minio-logging.rst new file mode 100644 index 00000000..c3d0293b --- /dev/null +++ b/source/monitoring/logging/minio-logging.rst @@ -0,0 +1,290 @@ +.. _minio-logging: + +======= +Logging +======= + +.. default-domain:: minio + +.. contents:: Table of Contents + :local: + :depth: 1 + +MinIO publishes all :mc:`minio server` operations to the system console. +Reading these logs depends on how the server process is managed. +For example, if the server is managed through a ``systemd`` script, +you can read the logs using ``journalctl -u SERVICENAME.service``. Replace +``SERVICENAME`` with the name of the MinIO service. + +MinIO also supports publishing server logs and audit logs to an HTTP webhook. + +- :ref:`Server logs ` contain the same + :mc:`minio server` operations logged to the system console. Server logs + support general monitoring and troubleshooting of operations. + +- :ref:`Audit logs ` are more granular + descriptions of each operation on the MinIO deployment. Audit logging + supports security standards and regulations which require detailed tracking + of operations. + +MinIO publishes logs as a JSON document as a ``PUT`` request to each configured +endpoint. The endpoint server is responsible for processing each JSON document. +MinIO requires explicit configuration of each webhook endpoint and does *not* +publish logs to a webhook by default. + +.. _minio-logging-publish-server-logs: + +Publish Server Logs to HTTP Webhook +----------------------------------- + +You can configure a new HTTP webhook endpoint to which MinIO publishes +:mc:`minio server` logs using either environment variables *or* by setting +runtime configuration settings. + +.. tabs:: + + .. tab:: Environment Variables + + MinIO supports specifying the :mc:`minio server` log HTTP webhook endpoint + and associated configuration settings using :ref:`environment variables + `. + + The following example code sets *all* environment variables related to + configuring a log HTTP webhook endpoint. The minimum *required* variables + are: + + - :envvar:`MINIO_LOGGER_WEBHOOK_ENABLE` + - :envvar:`MINIO_LOGGER_WEBHOOK_ENDPOINT` + + .. code-block:: shell + :class: copyable + + set MINIO_LOGGER_WEBHOOK_ENABLE_="on" + set MINIO_LOGGER_WEBHOOK_ENDPOINT_="https://webhook-1.example.net" + set MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_="TOKEN" + + - Replace ```` with a unique descriptive string for the + HTTP webhook endpoint. Use the same ```` for all environment + variables related to the new log HTTP webhook. + + If the specified ```` matches an existing log endpoint, + the new settings *override* any existing settings for that endpoint. + Use :mc-cmd:`mc admin config get logger_webhook ` + to review the currently configured log HTTP webhook endpoints. + + - Replace ``https://webhook-1.example.net`` with the URL of the HTTP + webhook endpoint. + + - Replace ``TOKEN`` with a JSON Web Token (JWT) to use for authenticating + to the webhook endpoints. Omit for endpoints which do not require + authentication. + + Restart the MinIO server to apply the new configuration settings. You + must specify the same environment variables and settings on + *all* MinIO servers in the deployment. + + .. tab:: Configuration Settings + + MinIO supports adding or updating log HTTP webhook endpoints on a MinIO + deployment using the :mc-cmd:`mc admin config set` command and the + :mc-conf:`logger_webhook` configuration key. You must restart the + MinIO deployment to apply any new or updated configuration settings. + + The following example code sets *all* settings related to configuring + a log HTTP webhook endpoint. The minimum *required* setting is + :mc-conf:`logger_webhook endpoint `: + + .. code-block:: shell + :class: copyable + + mc admin config set ALIAS/ logger_webhook:IDENTIFIER \ + endpoint="https://webhook-1.example.net" \ + auth_token="TOKEN" + + - Replace ```` with a unique descriptive string for the + HTTP webhook endpoint. Use the same ```` for all environment + variables related to the new log HTTP webhook. + + If the specified ```` matches an existing log endpoint, + the new settings *override* any existing settings for that endpoint. + Use :mc-cmd:`mc admin config get logger_webhook ` + to review the currently configured log HTTP webhook endpoints. + + - Replace ``https://webhook-1.example.net`` with the URL of the HTTP + webhook endpoint. + + - Replace ``TOKEN`` with a JSON Web Token (JWT) to use for authenticating + to the webhook endpoints. Omit for endpoints which do not require + authentication. + +.. _minio-logging-publish-audit-logs: + +Publish Audit Logs to HTTP Webhook +---------------------------------- + +You can configure a new HTTP webhook endpoint to which MinIO publishes audit +logs using either environment variables *or* by setting runtime configuration +settings: + +.. tabs:: + + .. tab:: Environment Variables + + MinIO supports specifying the audit log HTTP webhook endpoint and + associated configuration settings using :ref:`environment variables + `. + + The following example code sets *all* environment variables related to + configuring a audit log HTTP webhook endpoint. The minimum *required* + variables are: + + - :envvar:`MINIO_AUDIT_WEBHOOK_ENABLE` + - :envvar:`MINIO_AUDIT_WEBHOOK_ENDPOINT` + + .. code-block:: shell + :class: copyable + + set MINIO_AUDIT_WEBHOOK_ENABLE_="on" + set MINIO_AUDIT_WEBHOOK_ENDPOINT_="https://webhook-1.example.net" + set MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_="TOKEN" + set MINIO_AUDIT_WEBHOOK_CLIENT_CERT_="cert.pem" + set MINIO_AUDIT_WEBHOOK_CLIENT_KEY_="cert.key" + + - Replace ```` with a unique descriptive string for the + HTTP webhook endpoint. Use the same ```` for all environment + variables related to the new audit log HTTP webhook. + + If the specified ```` matches an existing log endpoint, + the new settings *override* any existing settings for that endpoint. + Use :mc-cmd:`mc admin config get audit_webhook ` + to review the currently configured audit log HTTP webhook endpoints. + + - Replace ``https://webhook-1.example.net`` with the URL of the HTTP + webhook endpoint. + + - Replace ``TOKEN`` with a JSON Web Token (JWT) to use for authenticating + to the webhook endpoints. Omit for endpoints which do not require + authentication. + + - Replace ``cert.pem`` and ``cert.key`` with the public and private key + of the x.509 TLS certificates to present to the HTTP webhook server. + Omit for endpoints which do not require clients to present TLS + certificates. + + Restart the MinIO server to apply the new configuration settings. You + must specify the same environment variables and settings on + *all* MinIO servers in the deployment. + + .. tab:: Configuration Settings + + MinIO supports adding or updating audit log HTTP webhook endpoints on a + MinIO deployment using the :mc-cmd:`mc admin config set` command and the + :mc-conf:`audit_webhook` configuration key. You must restart the MinIO + deployment to apply any new or updated configuration settings. + + The following example code sets *all* settings related to configuring + a audit log HTTP webhook endpoint. The minimum *required* setting is + :mc-conf:`audit_webhook endpoint `: + + .. code-block:: shell + :class: copyable + + mc admin config set ALIAS/ audit_webhook:IDENTIFIER \ + endpoint="https://webhook-1.example.net" \ + auth_token="TOKEN" \ + client_cert="cert.pem" \ + client_key="cert.key" + + - Replace ```` with a unique descriptive string for the + HTTP webhook endpoint. Use the same ```` for all environment + variables related to the new audit log HTTP webhook. + + If the specified ```` matches an existing log endpoint, + the new settings *override* any existing settings for that endpoint. + Use :mc-cmd:`mc admin config get audit_webhook ` + to review the currently configured audit log HTTP webhook endpoints. + + - Replace ``https://webhook-1.example.net`` with the URL of the HTTP + webhook endpoint. + + - Replace ``TOKEN`` with a JSON Web Token (JWT) to use for authenticating + to the webhook endpoints. Omit for endpoints which do not require + authentication. + + - Replace ``cert.pem`` and ``cert.key`` with the public and private key + of the x.509 TLS certificates to present to the HTTP webhook server. + Omit for endpoints which do not require clients to present TLS + certificates. + +Audit Log Structure +~~~~~~~~~~~~~~~~~~~ + +MinIO audit logs resemble the following JSON document: + +- The ``api.timeToFirstBite`` and ``api.timeToResponse`` fields are expressed + in nanoseconds. + +- For :ref:`erasure coded setups ` + ``tags.objectErasureMap`` provides per-object details on the following: + + - The :ref:`Server Pool ` on which the object + operation was performed. + + - The :ref:`erasure set ` on which the object + operation was performed. + + - The list of disks in the erasure set which participated in the + object operation. + +.. code-block:: json + + { + "version": "1", + "deploymentid": "bc0e4d1e-bacc-42eb-91ad-2d7f3eacfa8d", + "time": "2019-08-12T21:34:37.187817748Z", + "api": { + "name": "PutObject", + "bucket": "testbucket", + "object": "hosts", + "status": "OK", + "statusCode": 200, + "timeToFirstByte": "366333ns", + "timeToResponse": "16438202ns" + }, + "remotehost": "127.0.0.1", + "requestID": "15BA4A72C0C70AFC", + "userAgent": "MinIO (linux; amd64) minio-go/v6.0.32 mc/2019-08-12T18:27:13Z", + "requestHeader": { + "Authorization": "AWS4-HMAC-SHA256 Credential=minio/20190812/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-decoded-content-length,Signature=d3f02a6aeddeb29b06e1773b6a8422112890981269f2463a26f307b60423177c", + "Content-Length": "686", + "Content-Type": "application/octet-stream", + "User-Agent": "MinIO (linux; amd64) minio-go/v6.0.32 mc/2019-08-12T18:27:13Z", + "X-Amz-Content-Sha256": "STREAMING-AWS4-HMAC-SHA256-PAYLOAD", + "X-Amz-Date": "20190812T213437Z", + "X-Amz-Decoded-Content-Length": "512" + }, + "responseHeader": { + "Accept-Ranges": "bytes", + "Content-Length": "0", + "Content-Security-Policy": "block-all-mixed-content", + "ETag": "a414c889dc276457bd7175f974332cb0-1", + "Server": "MinIO/DEVELOPMENT.2019-08-12T21-28-07Z", + "Vary": "Origin", + "X-Amz-Request-Id": "15BA4A72C0C70AFC", + "X-Xss-Protection": "1; mode=block" + }, + "tags": { + "objectErasureMap": { + "object": { + "poolId": 1, + "setId": 10, + "disks": [ + "http://server01/mnt/pool1/disk01", + "http://server02/mnt/pool1/disk02", + "http://server03/mnt/pool1/disk03", + "http://server04/mnt/pool1/disk04" + ] + } + } + } + } diff --git a/source/monitoring/metrics-alerts/collect-minio-metrics-using-prometheus.rst b/source/monitoring/metrics-alerts/collect-minio-metrics-using-prometheus.rst new file mode 100644 index 00000000..9d3c3641 --- /dev/null +++ b/source/monitoring/metrics-alerts/collect-minio-metrics-using-prometheus.rst @@ -0,0 +1,187 @@ +.. _minio-metrics-collect-using-prometheus: + +====================================== +Collect MinIO Metrics Using Prometheus +====================================== + +.. default-domain:: minio + +.. contents:: Table of Contents + :local: + :depth: 1 + +MinIO leverages `Prometheus `__ for metrics and alerts. +MinIO publishes Prometheus-compatible scraping endpoints for cluster and +node-level metrics. See :ref:`minio-metrics-and-alerts-endpoints` for more +information. + +The procedure on this page documents scraping the MinIO metrics +endpoints using a Prometheus instance, including deploying and configuring +a simple Prometheus server for collecting metrics. + +This procedure is not a replacement for the official +:prometheus-docs:`Prometheus Documentation`. Any specific guidance +related to configuring, deploying, and using Prometheus is made on a best-effort +basis. + +Requirements +------------ + +Install and Configure ``mc`` with Access to the MinIO Cluster +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This procedure uses :mc:`mc` for performing operations on the MinIO +deployment. Install ``mc`` on a machine with network access to the +deployment. See the ``mc`` :ref:`Installation Quickstart ` for +more complete instructions. + +Prometheus Service +~~~~~~~~~~~~~~~~~~ + +This procedure provides instruction for deploying Prometheus for rapid local +evaluation and development. All other environments should have an existing +Prometheus or Prometheus-compatible service with access to the MinIO cluster. + +Procedure +--------- + +1) Generate the Bearer Token +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +MinIO by default requires authentication for requests made to the metrics +endpoints. This step is not required for MinIO deployments started with +:envvar:`MINIO_PROMETHEUS_AUTH_TYPE` set to ``"public"``. + +Use the :mc-cmd:`mc admin prometheus generate` command to generate a +JWT bearer token for use by Prometheus in making authenticated scraping +requests: + +.. code-block:: shell + :class: copyable + + mc admin prometheus generate ALIAS + +Replace :mc-cmd:`ALIAS ` with the +:mc:`alias ` of the MinIO deployment. + +The command returns output similar to the following: + +.. code-block:: yaml + :class: copyable + + scrape_configs: + - job_name: minio-job + bearer_token: TOKEN + metrics_path: /minio/v2/metrics/cluster + scheme: https + static_configs: + - targets: [minio.example.net] + +You can specify the output block to the +:prometheus-docs:`scrape_config +` section of +the Prometheus configuration. Change the ``job_name`` to match a label or +identifier for the MinIO cluster being scraped. + +The :mc-cmd:`mc admin prometheus generate` command generates a scrape config +for only the ``/minio/v2/metrics/cluster`` endpoint. You can use the generated +config to create a node-level metric scraping job: + +.. code-block:: yaml + :class: copyable + + scrape_configs: + - job_name: minio-job + bearer_token: TOKEN + metrics_path: /minio/v2/metrics/node + scheme: https + static_configs: + - targets: [minio-01.example.net] + +Change the ``job_name`` to match a label or identifier for the MinIO node +being scraped. Change the ``static_configs.targets`` to specify the +hostname for the node being scraped. + +2) Configure and Run Prometheus +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Follow the Prometheus :prometheus-docs:`Getting Started +` guide +to download and run Prometheus locally. + +Append the ``scrape_configs`` job generated in the previous step to the +configuration file: + +.. code-block:: yaml + :class: copyable + + global: + scrape_interval: 15s + + scrape_configs: + - job_name: minio-cluster-metrics + bearer_token: TOKEN + metrics_path: /minio/v2/metrics/cluster + scheme: https + static_configs: + - targets: [minio.example.net] + - job_name: minio-node-01-metrics + bearer_token: TOKEN + metrics_path: /minio/v2/metrics/node + scheme: https + static_configs: + - targets: [minio-01.example.net] + +Start the Prometheus cluster using the configuration file: + +.. code-block:: shell + :class: copyable + + prometheus --config.file=prometheus.yaml + +3) Analyze Collected Metrics +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Prometheus includes a +:prometheus-docs:`expression browser +`. You can +execute queries here to analyze the collected metrics. + +The following query examples return metrics collected by Prometheus: + +.. code-block:: shell + :class: copyable + + minio_cluster_disk_online_total{job="minio-job"}[5m] + minio_cluster_disk_offline_total{job="minio-job"}[5m] + + minio_bucket_usage_object_total{job="minio-job"}[5m] + + minio_cluster_capacity_usable_free_bytes{job="minio-job"}[5m] + +See :ref:`minio-metrics-and-alerts-available-metrics` for a complete +list of published metrics. + +4) Visualize Collected Metrics +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Prometheus includes a +:prometheus-docs:`graphing interface +` for +visualizing collected metrics. + +The :minio-git:`MinIO Console ` supports visualizing collected metrics +from Prometheus. Specify the following environment variables prior to starting +the Console server: + +- ``CONSOLE_PROMETHEUS_URL=https://prometheus.example.net`` - replace the + hostname with the URL for the Prometheus server. + +- ``CONSOLE_PROMETHEUS_JOB_ID=minio-job`` - replace the example job ID with the + name of the ``scrape_configs.job_name`` for the MinIO cluster. + +MinIO also publishes a `Grafana Dashboard +`_ for visualizing collected +metrics. For more complete documentation on configuring a Prometheus data source +for Grafana, see :prometheus-docs:`Grafana Support for Prometheus +`. \ No newline at end of file diff --git a/source/monitoring/metrics-alerts/minio-metrics-and-alerts.rst b/source/monitoring/metrics-alerts/minio-metrics-and-alerts.rst new file mode 100644 index 00000000..92994961 --- /dev/null +++ b/source/monitoring/metrics-alerts/minio-metrics-and-alerts.rst @@ -0,0 +1,399 @@ +.. _minio-metrics-and-alerts: + +================== +Metrics and Alerts +================== + +.. default-domain:: minio + +.. contents:: Table of Contents + :local: + :depth: 1 + +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 :prometheus-docs:`integrations +`, allowing wide latitude in processing and storing +collected metrics. + +- MinIO publishes Prometheus-compatible scraping endpoints for cluster and + node-level metrics. See :ref:`minio-metrics-and-alerts-endpoints` for + more information. + +- For alerts, use Prometheus :prometheus-docs:`Alerting Rules + ` and the + :prometheus-docs:`Alert Manager ` to + trigger alerts based on collected metrics. See + :ref:`minio-metrics-and-alerts-alerting` 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-metrics-and-alerts-endpoints: + +Metrics +------- + +MinIO provides a scraping endpoint for both cluster and node-level metrics. +Create a new :prometheus-docs:`scraping configuration +` for either or +both endpoints to begin collecting metrics from the MinIO deployment. + +MinIO also publishes a `Grafana Dashboard +`_ for visualizing collected +metrics. For more complete documentation on configuring a Prometheus data source +for Grafana, see :prometheus-docs:`Grafana Support for Prometheus +`. + +MinIO by default requires authentication for scraping the metrics endpoints. +Use the :mc-cmd:`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 +:envvar:`MINIO_PROMETHEUS_AUTH_TYPE` to ``public``. + +Cluster Metrics +~~~~~~~~~~~~~~~ + +MinIO publishes cluster-level metrics to the following endpoint: + +.. code-block:: shell + :class: copyable + + http://minio.example.net:9000/minio/v2/metrics/cluster + +Replace ``http://minio.example.net`` with the hostname for the MinIO +node. + +The following example describes a ``scrape_configs`` entry for collecting +cluster metrics: + +.. code-block:: yaml + :class: copyable + + scrape_configs: + - job_name: minio-job + bearer_token: + metrics_path: /minio/v2/metrics/cluster + scheme: https + static_configs: + - targets: ['minio.example.net:9000'] + +.. list-table:: + :stub-columns: 1 + :widths: 30 70 + :width: 100% + + * - ``job_name`` + - The name of the scraping job. + + * - ``bearer_token`` + - The JWT token generated by :mc-cmd:`mc admin prometheus generate`. + + Omit this field if the MinIO deployment was started with + :envvar:`MINIO_PROMETHEUS_AUTH_TYPE` set to ``public``. + + * - ``static_configs[n].targets`` + - 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. + +Node Metrics +~~~~~~~~~~~~ + +MinIO publishes node-level metrics to the following endpoint: + +.. code-block:: yaml + :class: copyable + + http://minio.example.net:9000/minio/v2/metrics/node + +Replace ``http://minio.example.net`` with the hostname for the MinIO +node. + +The following example describes a ``scrape_configs`` entry for collecting +node metrics. You must specify one job for each node in the MinIO deployment: + +.. code-block:: shell + :class: copyable + + scrape_configs: + - job_name: minio-job + bearer_token: + metrics_path: /minio/v2/metrics/node + scheme: https + static_configs: + - targets: ['minio.example.net:9000'] + +.. list-table:: + :stub-columns: 1 + :widths: 30 70 + :width: 100% + + * - ``job_name`` + - The name of the scraping job. + + * - ``bearer_token`` + - The JWT token generated by :mc-cmd:`mc admin prometheus generate`. + + Omit this field if the MinIO node was started with + :envvar:`MINIO_PROMETHEUS_AUTH_TYPE` set to ``public``. + + * - ``static_configs[n].targets`` + - The endpoint for the MinIO node. + +.. _minio-metrics-and-alerts-available-metrics: + +Available Metrics +~~~~~~~~~~~~~~~~~ + +MinIO publishes the following metrics, where each metric includes a label for +the MinIO server which generated that metric. + +Object Metrics +++++++++++++++ + +.. metric:: minio_bucket_objects_size_distribution + + Distribution of object sizes in the bucket, includes label for the bucket + name. + +Replication Metrics ++++++++++++++++++++ + +These metrics are only populated for MinIO clusters with +:ref:`minio-bucket-replication-serverside` enabled. + +.. metric:: minio_bucket_replication_failed_bytes + + Total number of bytes failed at least once to replicate. + +.. metric:: minio_bucket_replication_pending_bytes + + Total bytes pending to replicate. + +.. metric:: minio_bucket_replication_received_bytes + + Total number of bytes replicated to this bucket from another source bucket. + +.. metric:: minio_bucket_replication_sent_bytes + + Total number of bytes replicated to the target bucket. + +.. metric:: minio_bucket_replication_pending_count + + Total number of replication operations pending for this bucket. + +.. metric:: minio_bucket_replication_failed_count + + Total number of replication operations failed for this bucket. + +Bucket Metrics +++++++++++++++ + +.. metric:: minio_bucket_usage_object_total + + Total number of objects + +.. metric:: minio_bucket_usage_total_bytes + + Total bucket size in bytes + +Cache Metrics ++++++++++++++ + +.. metric:: minio_cache_hits_total + + Total number of disk cache hits + +.. metric:: minio_cache_missed_total + + Total number of disk cache misses + +.. metric:: minio_cache_sent_bytes + + Total number of bytes served from cache + +.. metric:: minio_cache_total_bytes + + Total size of cache disk in bytes + +.. metric:: minio_cache_usage_info + + Total percentage cache usage, value of 1 indicates high and 0 low, label + level is set as well + +.. metric:: minio_cache_used_bytes + + Current cache usage in bytes + +Cluster Metrics ++++++++++++++++ + +.. metric:: minio_cluster_capacity_raw_free_bytes + + Total free capacity online in the cluster. + +.. metric:: minio_cluster_capacity_raw_total_bytes + + Total capacity online in the cluster. + +.. metric:: minio_cluster_capacity_usable_free_bytes + + Total free usable capacity online in the cluster. + +.. metric:: minio_cluster_capacity_usable_total_bytes + + Total usable capacity online in the cluster. + +Node Metrics +++++++++++++ + +.. metric:: minio_cluster_nodes_offline_total + + Total number of MinIO nodes offline. + +.. metric:: minio_cluster_nodes_online_total + + Total number of MinIO nodes online. + +.. metric:: minio_heal_objects_error_total + + Objects for which healing failed in current self healing run + +.. metric:: minio_heal_objects_heal_total + + Objects healed in current self healing run + +.. metric:: minio_heal_objects_total + + Objects scanned in current self healing run + +.. metric:: minio_heal_time_last_activity_nano_seconds + + Time elapsed (in nano seconds) since last self healing activity. This is set + to -1 until initial self heal + +.. metric:: minio_inter_node_traffic_received_bytes + + Total number of bytes received from other peer nodes. + +.. metric:: minio_inter_node_traffic_sent_bytes + + Total number of bytes sent to the other peer nodes. + +.. metric:: minio_node_disk_free_bytes + + Total storage available on a disk. + +.. metric:: minio_node_disk_total_bytes + + Total storage on a disk. + +.. metric:: minio_node_disk_used_bytes + + Total storage used on a disk. + +.. metric:: minio_node_file_descriptor_limit_total + + Limit on total number of open file descriptors for the MinIO Server process. + +.. metric:: minio_node_file_descriptor_open_total + + Total number of open file descriptors by the MinIO Server process. + +.. metric:: minio_node_io_rchar_bytes + + Total bytes read by the process from the underlying storage system including + cache, ``/proc/[pid]/io rchar`` + +.. metric:: minio_node_io_read_bytes + + Total bytes read by the process from the underlying storage system, + ``/proc/[pid]/io read_bytes`` + +.. metric:: minio_node_io_wchar_bytes + + Total bytes written by the process to the underlying storage system including + page cache, ``/proc/[pid]/io wchar`` + +.. metric:: minio_node_io_write_bytes + + Total bytes written by the process to the underlying storage system, + ``/proc/[pid]/io write_bytes`` + +.. metric:: minio_node_process_starttime_seconds + + Start time for MinIO process per node, time in seconds since Unix epoch. + +.. metric:: minio_node_process_uptime_seconds + + Uptime for MinIO process per node in seconds. + +.. metric:: minio_node_syscall_read_total + + Total read SysCalls to the kernel. ``/proc/[pid]/io syscr`` + +.. metric:: minio_node_syscall_write_total + + Total write SysCalls to the kernel. ``/proc/[pid]/io syscw`` + +S3 Metrics +++++++++++ + +.. metric:: minio_s3_requests_error_total + + Total number S3 requests with errors + +.. metric:: minio_s3_requests_inflight_total + + Total number of S3 requests currently in flight + +.. metric:: minio_s3_requests_total + + Total number S3 requests + +.. metric:: minio_s3_time_ttbf_seconds_distribution + + Distribution of the time to first byte across API calls. + +.. metric:: minio_s3_traffic_received_bytes + + Total number of s3 bytes received. + +.. metric:: minio_s3_traffic_sent_bytes + + Total number of s3 bytes sent + +Software Metrics +++++++++++++++++ + +.. metric:: minio_software_commit_info + + Git commit hash for the MinIO release. + +.. metric:: minio_software_version_info + + MinIO Release tag for the server + +.. _minio-metrics-and-alerts-alerting: + +Alerts +------ + +You can configure alerts using Prometheus :prometheus-docs:`Alerting Rules +` based on the collected MinIO +metrics. The Prometheus :prometheus-docs:`Alert Manager +` supports managing alerts produced by the configured +alerting rules. Prometheus also supports a :prometheus-docs:`Webhook Receiver +` for publishing alerts +to mechanisms not supported by Prometheus AlertManager. + +.. toctree:: + :titlesonly: + :hidden: + + /monitoring/metrics-alerts/collect-minio-metrics-using-prometheus diff --git a/source/monitoring/monitoring-overview.rst b/source/monitoring/monitoring-overview.rst index 3673e7e6..9ab702f0 100644 --- a/source/monitoring/monitoring-overview.rst +++ b/source/monitoring/monitoring-overview.rst @@ -8,6 +8,53 @@ Monitoring :local: :depth: 1 +Metrics and Alerts +------------------ + +MinIO provides cluster and node-level metrics through `Prometheus +`__-compatible scraping endpoints. Prometheus is an +Open-Source systems and service monitoring system which supports analyzing and +alerting based on collected metrics. The Prometheus ecosystem includes multiple +:prometheus-docs:`integrations `, allowing wide +latitude in processing and storing collected metrics. You can alternatively use +any other Prometheus-compatible metrics scraping software. + +- See :ref:`minio-metrics-and-alerts` for more complete documentation on + MinIO Metrics and Alerts. + +- See :ref:`minio-metrics-collect-using-prometheus` for a tutorial on + configuring Prometheus for monitoring a MinIO deployment. + +Logging +------- + +MinIO publishes all :mc:`minio server` operations to the system console. +MinIO also supports publishing server logs and audit logs to an HTTP webhook. + +- :ref:`Server logs ` contain the same + :mc:`minio server` operations logged to the system console. Server logs + support general monitoring and troubleshooting of operations. + +- :ref:`Audit logs ` are more granular + descriptions of each operation on the MinIO deployment. Audit logging + supports security standards and regulations which require detailed tracking + of operations. + +MinIO publishes logs as a JSON document as a ``PUT`` request to each configured +endpoint. The endpoint server is responsible for processing each JSON document. +MinIO requires explicit configuration of each webhook endpoint and does *not* +publish logs to a webhook by default. + +See :ref:`minio-logging` for more complete documentation. + +Healthchecks +------------ + +MinIO exposes unauthenticated endpoints for probing node uptime and +cluster :ref:`high availability ` for simple healthchecks. +These endpoints return only an HTTP status code. See +:ref:`minio-healthcheck-api` for more information. + Bucket Notifications -------------------- @@ -33,4 +80,7 @@ for more complete documentation on MinIO Bucket Notifications. :titlesonly: :hidden: + /monitoring/metrics-alerts/minio-metrics-and-alerts + /monitoring/logging/minio-logging + /monitoring/healthcheck-probe /monitoring/bucket-notifications/bucket-notifications \ No newline at end of file diff --git a/source/reference/minio-cli/minio-mc-admin/mc-admin-prometheus.rst b/source/reference/minio-cli/minio-mc-admin/mc-admin-prometheus.rst index e75076de..02873f8f 100644 --- a/source/reference/minio-cli/minio-mc-admin/mc-admin-prometheus.rst +++ b/source/reference/minio-cli/minio-mc-admin/mc-admin-prometheus.rst @@ -35,17 +35,22 @@ legacy documentation site Syntax ------ -:mc-cmd:`mc admin prometheus` has the following syntax: +.. mc-cmd:: generate + :fullpath: -.. code-block:: shell - :class: copyable + Generates a JWT bearer token for use with configuring + :ref:`Prometheus metrics collection `. The command + has the following syntax: - mc admin prometheus generate TARGET + .. code-block:: shell + :class: copyable -:mc-cmd:`mc admin prometheus` supports the following: + mc admin prometheus generate TARGET -.. mc-cmd:: TARGET + The command accepts the following arguments: - The :mc:`alias ` of a configured MinIO deployment for which - the command generates a Prometheus-compatible configuration file. + .. mc-cmd:: TARGET + + The :mc:`alias ` of a configured MinIO deployment for which + the command generates a Prometheus-compatible configuration file. diff --git a/source/reference/minio-cli/minio-mc-admin/mc-admin.config.rst b/source/reference/minio-cli/minio-mc-admin/mc-admin.config.rst index e6a9b795..9470155f 100644 --- a/source/reference/minio-cli/minio-mc-admin/mc-admin.config.rst +++ b/source/reference/minio-cli/minio-mc-admin/mc-admin.config.rst @@ -1,4 +1,4 @@ -=================== +m=================== ``mc admin config`` =================== @@ -53,6 +53,144 @@ Configuration Settings The following configuration settings define runtime behavior of the MinIO :mc:`server ` process: +.. _minio-server-config-logging-logs: + +HTTP Webhook Log Target +~~~~~~~~~~~~~~~~~~~~~~~ + +.. mc-conf:: logger_webhook + + The top-level configuration key for defining an HTTP webhook target for + publishing :ref:`MinIO logs `. + + Use :mc-cmd:`mc admin config set` to set or update an HTTP webhook target. + Specify additional optional arguments as a whitespace (``" "``)-delimited + list. + + .. code-block:: shell + :class: copyable + + mc admin config set logger_webhook \ + endpoint="http://webhook.example.net" [ARGUMENTS=VALUE ...] + + You can specify multiple HTTP webhook targets by appending + ``[:name]`` to the top-level key. For example, the following commands + set two distinct HTTP webhook targets as ``primary`` and ``secondary`` + respectively: + + .. code-block:: shell + :class: copyable + + mc admin config set logger_webhook:primary \ + endpoint="http://webhook-01.example.net" [ARGUMENTS=VALUE ...] + + + mc admin config set logger_webhook:secondary \ + endpoint="http://webhook-02.example.net" [ARGUMENTS=VALUE ...] + + The :mc-conf:`logger_webhook` configuration key accepts the following + arguments: + + .. mc-conf:: endpoint + + *Required* + + The HTTP endpoint of the webhook. + + This setting corresponds to the + :envvar:`MINIO_LOGGER_WEBHOOK_ENDPOINT` environment variable. + + .. mc-conf:: auth_token + + *Optional* + + The JSON Web Token (JWT) to use for authenticating to the HTTP webhook. + Omit for webhooks which do not enforce authentication. + + This setting corresponds to the + :envvar:`MINIO_LOGGER_WEBHOOK_AUTH_TOKEN` environment variable. + +.. _minio-server-config-logging-audit: + +HTTP Webhook Audit Log Target +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. mc-conf:: audit_webhook + + The top-level configuration key for defining an HTTP webhook target for + publishing :ref:`MinIO audit logs `. + + Use :mc-cmd:`mc admin config set` to set or update an HTTP webhook target. + Specify additional optional arguments as a whitespace (``" "``)-delimited + list. + + .. code-block:: shell + :class: copyable + + mc admin config set audit_webhook \ + endpoint="http://webhook.example.net" [ARGUMENTS=VALUE ...] + + You can specify multiple HTTP webhook targets by appending + ``[:name]`` to the top-level key. For example, the following commands + set two distinct HTTP webhook targets as ``primary`` and ``secondary`` + respectively: + + .. code-block:: shell + :class: copyable + + mc admin config set audit_webhook:primary \ + endpoint="http://webhook-01.example.net" [ARGUMENTS=VALUE ...] + + + mc admin config set audit_webhook:secondary \ + endpoint="http://webhook-02.example.net" [ARGUMENTS=VALUE ...] + + The :mc-conf:`audit_webhook` configuration key accepts the following + arguments: + + .. mc-conf:: endpoint + + *Required* + + The HTTP endpoint of the webhook. + + This setting corresponds to the + :envvar:`MINIO_AUDIT_WEBHOOK_ENDPOINT` environment variable. + + .. mc-conf:: auth_token + + *Optional* + + The JSON Web Token (JWT) to use for authenticating to the HTTP webhook. + Omit for webhooks which do not enforce authentication. + + This setting corresponds to the + :envvar:`MINIO_AUDIT_WEBHOOK_AUTH_TOKEN` environment variable. + + .. mc-conf:: client_cert + + *Optional* + + The x.509 client certificate to present to the HTTP webhook. Omit for + webhooks which do not require clients to present a known TLS certificate. + + Requires specifying :mc-conf:`~audit_webhook.client_key`. + + This setting corresponds to the + :envvar:`MINIO_AUDIT_WEBHOOK_CLIENT_CERT` environment variable. + + .. mc-conf:: client_key + + *Optional* + + The x.509 private key to present to the HTTP webhook. Omit for + webhooks which do not require clients to present a known TLS certificate. + + Requires specifying :mc-conf:`~audit_webhook.client_cert`. + + This setting corresponds to the + :envvar:`MINIO_AUDIT_WEBHOOK_CLIENT_KEY` environment variable. + .. _minio-server-config-bucket-notification-amqp: AMQP Service for Bucket Notifications diff --git a/source/reference/minio-server/minio-server.rst b/source/reference/minio-server/minio-server.rst index 26caaf2f..a7891672 100644 --- a/source/reference/minio-server/minio-server.rst +++ b/source/reference/minio-server/minio-server.rst @@ -20,7 +20,7 @@ The :mc:`minio server` command starts the MinIO server process: minio server /mnt/disk{1...4} -For examples of deploying :mc:`minio server` on a bare metal environment, +For examples of deploying :mc:`minio server` on a bare metal environment, see :ref:`minio-installation`. For examples of deploying :mc:`minio server` on a Kubernetes environment, @@ -54,7 +54,7 @@ The command accepts the following arguments: The hostname of a :mc:`minio server` process. - For standalone deployments, this field is *optional*. You can start a + For standalone deployments, this field is *optional*. You can start a standalone :mc:`~minio server` process with only the :mc-cmd:`~minio server DIRECTORIES` argument. @@ -65,7 +65,7 @@ The command accepts the following arguments: :mc-cmd:`~minio server HOSTNAME` supports MinIO expansion notation ``{x...y}`` to denote a sequential series of hostnames. MinIO *requires* sequential hostnames to identify each :mc:`minio server` process in the set. - + For example, ``https://minio{1...4}.example.net`` expands to: @@ -77,15 +77,15 @@ The command accepts the following arguments: You must run the :mc:`minio server` command with the *same* combination of :mc-cmd:`~minio server HOSTNAME` and :mc-cmd:`~minio server DIRECTORIES` on each host in the Server Pool. - + Each additional ``HOSTNAME/DIRECTORIES`` pair denotes an additional Server Set for the purpose of horizontal expansion of the MinIO deployment. For more information on Server Pools, see :ref:`Server Pool `. .. mc-cmd:: DIRECTORIES - The directories or drives the :mc:`minio server` process uses as the - storage backend. + The directories or drives the :mc:`minio server` process uses as the + storage backend. :mc-cmd:`~minio server DIRECTORIES` supports MinIO expansion notation ``{x...y}`` to denote a sequential series of folders or drives. For example, @@ -113,12 +113,12 @@ The command accepts the following arguments: For development or evaluation, you can specify multiple logical directories or partitions on a single physical volume to enable erasure coding on the deployment. - + For production environments, MinIO does **not recommend** using multiple logical directories or partitions on a single physical disk. While MinIO supports those configurations, the potential cost savings come at the risk of decreased reliability. - + .. mc-cmd:: address :option: @@ -143,7 +143,7 @@ The command accepts the following arguments: Omit to use the default directory paths: - - Linux/OSX: ``${HOME}/.minio/certs`` + - Linux/OSX: ``${HOME}/.minio/certs`` - Windows: ``%%USERPROFILE%%\.minio\certs``. See :ref:`minio-TLS` for more information on TLS/SSL connectivity. @@ -181,10 +181,10 @@ Root Credentials .. warning:: - If :envvar:`MINIO_ROOT_USER` is unset, + If :envvar:`MINIO_ROOT_USER` is unset, :mc:`minio` defaults to ``minioadmin``. - **NEVER** use the default credentials in production environments. + **NEVER** use the default credentials in production environments. MinIO strongly recommends specifying a unique, long, and random :envvar:`MINIO_ROOT_USER` value for all environments. @@ -194,10 +194,10 @@ Root Credentials .. warning:: - If :envvar:`MINIO_ROOT_PASSWORD` is unset, + If :envvar:`MINIO_ROOT_PASSWORD` is unset, :mc:`minio` defaults to ``minioadmin``. - **NEVER** use the default credentials in production environments. + **NEVER** use the default credentials in production environments. MinIO strongly recommends specifying a unique, long, and random :envvar:`MINIO_ROOT_PASSWORD` value for all environments. @@ -205,17 +205,17 @@ Root Credentials .. deprecated:: RELEASE.2021-04-22T15-44-28Z - The access key for the :ref:`root ` user. + The access key for the :ref:`root ` user. - This environment variable is *deprecated* in favor of the - :envvar:`MINIO_ROOT_USER` environment variable. + This environment variable is *deprecated* in favor of the + :envvar:`MINIO_ROOT_USER` environment variable. .. warning:: - If :envvar:`MINIO_ACCESS_KEY` is unset, + If :envvar:`MINIO_ACCESS_KEY` is unset, :mc:`minio` defaults to ``minioadmin``. - **NEVER** use the default credentials in production environments. + **NEVER** use the default credentials in production environments. MinIO strongly recommends specifying a unique, long, and random :envvar:`MINIO_ACCESS_KEY` value for all environments. @@ -270,7 +270,7 @@ Key Management Service and Encryption ``:`` - Replace the ```` with any string. You must use this - key name if you later migrate to using a dedicated KMS for + key name if you later migrate to using a dedicated KMS for managing encryption keys. - Replace ```` with a 32-bit base64 encoded value. @@ -282,7 +282,7 @@ Key Management Service and Encryption cat /dev/urandom | head -c 32 | base64 - Prior to :minio-release:`RELEASE.2021-04-22T15-44-28Z`, MinIO used the - :ref:`root ` user credentials for encrypting the backend. + :ref:`root ` user credentials for encrypting the backend. .. envvar:: MINIO_KMS_KES_ENDPOINT @@ -296,7 +296,7 @@ Key Management Service and Encryption requires clients to present their certificate for performing mutual TLS (mTLS). - See the :minio-git:`KES wiki ` + See the :minio-git:`KES wiki ` for more complete documentation on KES access control. .. envvar:: MINIO_KMS_KES_CERT_FILE @@ -304,9 +304,9 @@ Key Management Service and Encryption The x.509 certificate to present to the KES server. The KES server requires clients to present their certificate for performing mutual TLS (mTLS). - The KES server computes an + The KES server computes an :minio-git:`identity ` - from the certificate and compares it to its configured + from the certificate and compares it to its configured policies. The KES server grants the :mc:`minio` server access to only those operations explicitly granted by the policy. @@ -325,20 +325,20 @@ Storage Class ~~~~~~~~~~~~~ These environment variables configure the :ref:`parity ` -to use for objects written to the MinIO cluster. +to use for objects written to the MinIO cluster. MinIO Storage Classes are distinct from AWS Storage Classes, where the latter -refers to the specific storage tier on which to store a given object. +refers to the specific storage tier on which to store a given object. .. envvar:: MINIO_STORAGE_CLASS_STANDARD - The number of :ref:`parity blocks ` to create for + The number of :ref:`parity blocks ` to create for objects with the standard (default) storage class. MinIO uses the ``EC:N`` notation to refer to the number of parity blocks (``N``). - This environment variable only applies to deployments with - :ref:`Erasure Coding ` enabled. + This environment variable only applies to deployments with + :ref:`Erasure Coding ` enabled. - Defaults to ``4``. + Defaults to ``4``. .. envvar:: MINIO_STORAGE_CLASS_RRS @@ -346,7 +346,7 @@ refers to the specific storage tier on which to store a given object. with the reduced redundancy storage class. MinIO uses the ``EC:N`` notation to refer to the number of parity blocks (``N``). This environment variable only applies to deployments with :ref:`Erasure Coding - ` enabled. + ` enabled. Defaults to ``2``. @@ -354,12 +354,176 @@ refers to the specific storage tier on which to store a given object. Adds a comment to the storage class settings. +.. _minio-server-envvar-metrics-logging: + +Metrics and Logging +~~~~~~~~~~~~~~~~~~~ + +These environment variables control behavior related to MinIO metrics and +logging. See :doc:`/monitoring/monitoring-overview` for more information. + +.. envvar:: MINIO_PROMETHEUS_AUTH_TYPE + + Specifies the authentication mode for the Prometheus + :ref:`scraping endpoints `. + + - ``jwt`` - *Default* MinIO requires that the scraping client specify a JWT + token for authenticating requests. Use + :mc-cmd:`mc admin prometheus generate` to generate the necessary JWT + bearer tokens. + + - ``public`` MinIO does not require that scraping clients authenticate their + requests. + +Logging +~~~~~~~ + +These environment variables configure publishing regular :mc:`minio server` logs +and audit logs to an HTTP webhook. See :ref:`minio-logging` for more complete +documentation. + +- :ref:`minio-sever-envvar-logging-regular` +- :ref:`minio-sever-envvar-logging-audit` + +.. _minio-sever-envvar-logging-regular: + +Server Logs ++++++++++++ + +The following section documents environment variables for configuring MinIO to +publish :mc:`minio server` logs to an HTTP webhook endpoint. See +:ref:`minio-logging-publish-server-logs` for more complete documentation and +tutorials on using these environment variables. + +You can specify multiple webhook endpoints as log targets by appending +a unique identifier ``_ID`` for each set of related logging environment +variables. For example, the following command set two distinct +server logs webhook endpoints: + +.. code-block:: shell + :class: copyable + + export MINIO_LOGGER_WEBHOOK_ENABLE_PRIMARY="on" + export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_PRIMARY="TOKEN" + export MINIO_LOGGER_WEBHOOK_ENDPOINT_PRIMARY="http://webhook-1.example.net + + export MINIO_LOGGER_WEBHOOK_ENABLE_SECONDARY="on" + export MINIO_LOGGER_WEBHOOK_AUTH_TOKEN_SECONDARY="TOKEN" + export MINIO_LOGGER_WEBHOOK_ENDPOINT_SECONDARY="http://webhook-2.example.net + +.. envvar:: MINIO_LOGGER_WEBHOOK_ENABLE + + Specify ``"on"`` to enable publishing :mc:`minio server` logs to the HTTP + webhook endpoint. + + Requires specifying :envvar:`MINIO_LOGGER_WEBHOOK_ENDPOINT`. + + This variable corresponds to setting the top-level + :mc-conf:`logger_webhook` configuration setting. + +.. envvar:: MINIO_LOGGER_WEBHOOK_ENDPOINT + + The HTTP endpoint of the webhook. + + This variable corresponds to the :mc-conf:`logger_webhook endpoint + ` configuration setting. + +.. envvar:: MINIO_LOGGER_WEBHOOK_AUTH_TOKEN + + *Optional* + + The JSON Web Token (JWT) to use for authenticating to the HTTP webhook. + Omit for webhooks which do not enforce authentication. + + This variable corresponds to the :mc-conf:`logger_webhook auth_token + ` configuration setting. + +.. _minio-sever-envvar-logging-audit: + +Audit Logs +++++++++++ + +The following section documents environment variables for configuring MinIO to +publish audit logs to an HTTP webhook endpoint. See +:ref:`minio-logging-publish-audit-logs` for more complete documentation and +tutorials on using these environment variables. + +You can specify multiple webhook endpoints as audit log targets by appending +a unique identifier ``_ID`` for each set of related logging environment +variables. For example, the following command set two distinct +audit log webhook endpoints: + +.. code-block:: shell + :class: copyable + + export MINIO_AUDIT_WEBHOOK_ENABLE_PRIMARY="on" + export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_PRIMARY="TOKEN" + export MINIO_AUDIT_WEBHOOK_ENDPOINT_PRIMARY="http://webhook-1.example.net + export MINIO_AUDIT_WEBHOOK_CLIENT_CERT_SECONDARY="/tmp/cert.pem" + export MINIO_AUDIT_WEBHOOK_CLIENT_KEY_SECONDARY="/tmp/key.pem" + + export MINIO_AUDIT_WEBHOOK_ENABLE_SECONDARY="on" + export MINIO_AUDIT_WEBHOOK_AUTH_TOKEN_SECONDARY="TOKEN" + export MINIO_AUDIT_WEBHOOK_ENDPOINT_SECONDARY="http://webhook-1.example.net + export MINIO_AUDIT_WEBHOOK_CLIENT_CERT_SECONDARY="/tmp/cert.pem" + export MINIO_AUDIT_WEBHOOK_CLIENT_KEY_SECONDARY="/tmp/key.pem" + +.. envvar:: MINIO_AUDIT_WEBHOOK_ENABLE + + Specify ``"on"`` to enable publishing audit logs to the HTTP webhook endpoint. + + Requires specifying :envvar:`MINIO_AUDIT_WEBHOOK_ENDPOINT`. + + This variable corresponds to setting the top-level + :mc-conf:`audit_webhook` configuration setting. + +.. envvar:: MINIO_AUDIT_WEBHOOK_ENDPOINT + + The HTTP endpoint of the webhook. + + This variable corresponds to the :mc-conf:`audit_webhook endpoint + ` configuration setting. + +.. envvar:: MINIO_AUDIT_WEBHOOK_AUTH_TOKEN + + *Optional* + + The JSON Web Token (JWT) to use for authenticating to the HTTP webhook. + Omit for webhooks which do not enforce authentication. + + This variable corresponds to the :mc-conf:`audit_webhook auth_token + ` configuration setting. + +.. envvar:: MINIO_AUDIT_WEBHOOK_CLIENT_CERT + + *Optional* + + The x.509 client certificate to present to the HTTP webhook. Omit for + webhooks which do not require clients to present a known TLS certificate. + + Requires specifying :envvar:`MINIO_AUDIT_WEBHOOK_CLIENT_KEY`. + + This variable corresponds to the :mc-conf:`audit_webhook client_cert + ` configuration setting. + +.. envvar:: MINIO_AUDIT_WEBHOOK_CLIENT_KEY + + *Optional* + + The x.509 private key to present to the HTTP webhook. Omit for + webhooks which do not require clients to present a known TLS certificate. + + Requires specifying :envvar:`MINIO_AUDIT_WEBHOOK_CLIENT_CERT`. + + This variable corresponds to the :mc-conf:`audit_webhook client_key + ` configuration setting. + Bucket Notifications ~~~~~~~~~~~~~~~~~~~~ -These environment variables configure notification targets for use with +These environment variables configure notification targets for use with :doc:`MinIO Bucket Notifications `: - + - :ref:`minio-server-envvar-bucket-notification-amqp` - :ref:`minio-server-envvar-bucket-notification-mqtt` - :ref:`minio-server-envvar-bucket-notification-elasticsearch` @@ -378,7 +542,7 @@ AMQP Service for Bucket Notifications The following section documents environment variables for configuring an AMQP service as a target for :doc:`MinIO Bucket Notifications `. See -:ref:`minio-bucket-notifications-publish-amqp` for a tutorial on +:ref:`minio-bucket-notifications-publish-amqp` for a tutorial on using these environment variables. You can specify multiple AMQP service endpoints by appending a unique identifier @@ -400,7 +564,7 @@ For example, :envvar:`MINIO_NOTIFY_AMQP_ENABLE_PRIMARY an AMQP service endpoint with ID of ``PRIMARY``. .. envvar:: MINIO_NOTIFY_AMQP_ENABLE - + .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-enable :end-before: end-minio-notify-amqp-enable @@ -419,16 +583,16 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp url ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_EXCHANGE +.. envvar:: MINIO_NOTIFY_AMQP_EXCHANGE .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-exchange :end-before: end-minio-notify-amqp-exchange - This variable corresponds to the :mc-conf:`notify_amqp exchange + This variable corresponds to the :mc-conf:`notify_amqp exchange ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_EXCHANGE_TYPE +.. envvar:: MINIO_NOTIFY_AMQP_EXCHANGE_TYPE .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-exchange-type @@ -437,8 +601,8 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp exchange_type ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_ROUTING_KEY - +.. envvar:: MINIO_NOTIFY_AMQP_ROUTING_KEY + .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-routing-key :end-before: end-minio-notify-amqp-routing-key @@ -446,7 +610,7 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp routing_key ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_MANDATORY +.. envvar:: MINIO_NOTIFY_AMQP_MANDATORY .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-mandatory @@ -455,7 +619,7 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp mandatory ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_DURABLE +.. envvar:: MINIO_NOTIFY_AMQP_DURABLE .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-durable @@ -464,7 +628,7 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp durable ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_NO_WAIT +.. envvar:: MINIO_NOTIFY_AMQP_NO_WAIT .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-no-wait @@ -473,7 +637,7 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp no_wait ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_INTERNAL +.. envvar:: MINIO_NOTIFY_AMQP_INTERNAL .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-internal @@ -484,7 +648,7 @@ an AMQP service endpoint with ID of ``PRIMARY``. .. explanation is very unclear. Need to revisit this. -.. envvar:: MINIO_NOTIFY_AMQP_AUTO_DELETED +.. envvar:: MINIO_NOTIFY_AMQP_AUTO_DELETED .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-auto-deleted @@ -493,7 +657,7 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp auto_deleted ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_DELIVERY_MODE +.. envvar:: MINIO_NOTIFY_AMQP_DELIVERY_MODE .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-delivery-mode @@ -502,7 +666,7 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp delivery_mode ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_QUEUE_DIR +.. envvar:: MINIO_NOTIFY_AMQP_QUEUE_DIR .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-queue-dir @@ -511,7 +675,7 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp queue_dir ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_QUEUE_LIMIT +.. envvar:: MINIO_NOTIFY_AMQP_QUEUE_LIMIT .. include:: /includes/common-mc-admin-config.rst @@ -521,7 +685,7 @@ an AMQP service endpoint with ID of ``PRIMARY``. This variable corresponds to the :mc-conf:`notify_amqp queue_limit ` configuration setting. -.. envvar:: MINIO_NOTIFY_AMQP_COMMENT +.. envvar:: MINIO_NOTIFY_AMQP_COMMENT .. include:: /includes/common-mc-admin-config.rst :start-after: start-minio-notify-amqp-comment @@ -538,7 +702,7 @@ MQTT Service for Bucket Notifications The following section documents environment variables for configuring an MQTT service as a target for :doc:`MinIO Bucket Notifications `. See -:ref:`minio-bucket-notifications-publish-mqtt` for a tutorial on +:ref:`minio-bucket-notifications-publish-mqtt` for a tutorial on using these environment variables. You can specify multiple MQTT service endpoints by appending a unique identifier @@ -565,7 +729,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-enable :end-before: end-minio-notify-mqtt-enable - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_BROKER @@ -576,7 +740,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-broker :end-before: end-minio-notify-mqtt-broker - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt broker ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_TOPIC @@ -587,7 +751,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-topic :end-before: end-minio-notify-mqtt-topic - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt topic ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_USERNAME @@ -598,7 +762,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-username :end-before: end-minio-notify-mqtt-username - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt username ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_PASSWORD @@ -609,7 +773,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-password :end-before: end-minio-notify-mqtt-password - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt password ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_QOS @@ -618,7 +782,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-qos :end-before: end-minio-notify-mqtt-qos - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt qos ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL @@ -627,7 +791,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-keep-alive-interval :end-before: end-minio-notify-mqtt-keep-alive-interval - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt keep_alive_interval ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL @@ -636,7 +800,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-reconnect-interval :end-before: end-minio-notify-mqtt-reconnect-interval - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt reconnect_interval ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_QUEUE_DIR @@ -645,7 +809,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-queue-dir :end-before: end-minio-notify-mqtt-queue-dir - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt queue_dir ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_QUEUE_LIMIT @@ -654,7 +818,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-queue-limit :end-before: end-minio-notify-mqtt-queue-limit - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt queue_limit ` configuration setting. .. envvar:: MINIO_NOTIFY_MQTT_COMMENT @@ -663,7 +827,7 @@ an MQTT service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mqtt-comment :end-before: end-minio-notify-mqtt-comment - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_mqtt comment ` configuration setting. .. _minio-server-envvar-bucket-notification-elasticsearch: @@ -720,7 +884,7 @@ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-elasticsearch-url :end-before: end-minio-notify-elasticsearch-url - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_elasticsearch url ` configuration setting. @@ -732,7 +896,7 @@ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-elasticsearch-index :end-before: end-minio-notify-elasticsearch-index - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_elasticsearch index ` configuration setting. @@ -744,7 +908,7 @@ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-elasticsearch-format :end-before: end-minio-notify-elasticsearch-format - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_elasticsearch format ` configuration setting. @@ -756,7 +920,7 @@ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-elasticsearch-username :end-before: end-minio-notify-elasticsearch-username - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_elasticsearch username ` configuration setting. @@ -768,7 +932,7 @@ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-elasticsearch-password :end-before: end-minio-notify-elasticsearch-password - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_elasticsearch password ` configuration setting. .. envvar:: MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR @@ -779,7 +943,7 @@ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-elasticsearch-queue-dir :end-before: end-minio-notify-elasticsearch-queue-dir - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_elasticsearch queue_dir ` configuration setting. @@ -791,7 +955,7 @@ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-elasticsearch-queue-limit :end-before: end-minio-notify-elasticsearch-queue-limit - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_elasticsearch queue_limit ` configuration setting. @@ -803,7 +967,7 @@ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-elasticsearch-comment :end-before: end-minio-notify-elasticsearch-comment - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_elasticsearch comment ` configuration setting. @@ -840,7 +1004,7 @@ NSQ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-nsq-enable :end-before: end-minio-notify-nsq-enable - This variable corresponds to the + This variable corresponds to the :mc-conf:`notify_nsq ` configuration setting. .. envvar:: MINIO_NOTIFY_NSQ_NSQD_ADDRESS @@ -851,8 +1015,8 @@ NSQ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-nsq-nsqd-address :end-before: end-minio-notify-nsq-nsqd-address - This variable corresponds to the - :mc-conf:`notify_nsq nsqd_address ` + This variable corresponds to the + :mc-conf:`notify_nsq nsqd_address ` configuration setting. .. envvar:: MINIO_NOTIFY_NSQ_TOPIC @@ -863,8 +1027,8 @@ NSQ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-nsq-topic :end-before: end-minio-notify-nsq-topic - This variable corresponds to the - :mc-conf:`notify_nsq topic ` + This variable corresponds to the + :mc-conf:`notify_nsq topic ` configuration setting. .. envvar:: MINIO_NOTIFY_NSQ_TLS @@ -875,8 +1039,8 @@ NSQ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-nsq-tls :end-before: end-minio-notify-nsq-tls - This variable corresponds to the - :mc-conf:`notify_nsq tls ` + This variable corresponds to the + :mc-conf:`notify_nsq tls ` configuration setting. .. envvar:: MINIO_NOTIFY_NSQ_TLS_SKIP_VERIFY @@ -887,8 +1051,8 @@ NSQ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-nsq-tls-skip-verify :end-before: end-minio-notify-nsq-tls-skip-verify - This variable corresponds to the - :mc-conf:`notify_nsq tls_skip_verify ` + This variable corresponds to the + :mc-conf:`notify_nsq tls_skip_verify ` configuration setting. .. envvar:: MINIO_NOTIFY_NSQ_QUEUE_DIR @@ -899,8 +1063,8 @@ NSQ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-nsq-queue-dir :end-before: end-minio-notify-nsq-queue-dir - This variable corresponds to the - :mc-conf:`notify_nsq queue_dir ` + This variable corresponds to the + :mc-conf:`notify_nsq queue_dir ` configuration setting. .. envvar:: MINIO_NOTIFY_NSQ_QUEUE_LIMIT @@ -911,8 +1075,8 @@ NSQ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-nsq-queue-limit :end-before: end-minio-notify-nsq-queue-limit - This variable corresponds to the - :mc-conf:`notify_nsq queue_limit ` + This variable corresponds to the + :mc-conf:`notify_nsq queue_limit ` configuration setting. .. envvar:: MINIO_NOTIFY_NSQ_COMMENT @@ -923,8 +1087,8 @@ NSQ service endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-nsq-comment :end-before: end-minio-notify-nsq-comment - This variable corresponds to the - :mc-conf:`notify_nsq comment ` + This variable corresponds to the + :mc-conf:`notify_nsq comment ` configuration setting. .. _minio-server-envvar-bucket-notification-redis: @@ -984,7 +1148,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :end-before: end-minio-notify-redis-address This variable corresponds to the - :mc-conf:`notify_redis address ` + :mc-conf:`notify_redis address ` configuration setting. .. envvar:: MINIO_NOTIFY_REDIS_KEY @@ -996,7 +1160,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :end-before: end-minio-notify-redis-key This variable corresponds to the - :mc-conf:`notify_redis key ` + :mc-conf:`notify_redis key ` configuration setting. .. envvar:: MINIO_NOTIFY_REDIS_FORMAT @@ -1008,9 +1172,9 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :end-before: end-minio-notify-redis-format This variable corresponds to the - :mc-conf:`notify_redis format ` + :mc-conf:`notify_redis format ` configuration setting. - + .. envvar:: MINIO_NOTIFY_REDIS_PASSWORD @@ -1021,7 +1185,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :end-before: end-minio-notify-redis-password This variable corresponds to the - :mc-conf:`notify_redis password ` + :mc-conf:`notify_redis password ` configuration setting. .. envvar:: MINIO_NOTIFY_REDIS_QUEUE_DIR @@ -1032,8 +1196,8 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-redis-queue-dir :end-before: end-minio-notify-redis-queue-dir - This variable corresponds to the - :mc-conf:`notify_redis queue_dir ` + This variable corresponds to the + :mc-conf:`notify_redis queue_dir ` configuration setting. .. envvar:: MINIO_NOTIFY_REDIS_QUEUE_LIMIT @@ -1044,8 +1208,8 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-redis-queue-limit :end-before: end-minio-notify-redis-queue-limit - This variable corresponds to the - :mc-conf:`notify_redis queue_limit ` + This variable corresponds to the + :mc-conf:`notify_redis queue_limit ` configuration setting. .. envvar:: MINIO_NOTIFY_REDIS_COMMENT @@ -1056,8 +1220,8 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-redis-comment :end-before: end-minio-notify-redis-comment - This variable corresponds to the - :mc-conf:`notify_redis comment ` + This variable corresponds to the + :mc-conf:`notify_redis comment ` configuration setting. .. _minio-server-envvar-bucket-notification-nats: @@ -1068,7 +1232,7 @@ NATS Service for Bucket Notifications The following section documents environment variables for configuring an NATS service as a target for :doc:`MinIO Bucket Notifications `. See -:ref:`minio-bucket-notifications-publish-nats` for a tutorial on +:ref:`minio-bucket-notifications-publish-nats` for a tutorial on using these environment variables. You can specify multiple NATS service endpoints by appending a unique identifier @@ -1099,7 +1263,7 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-enable :end-before: end-minio-notify-nats-enable - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_nats ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_ADDRESS @@ -1110,7 +1274,7 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-address :end-before: end-minio-notify-nats-address - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_nats address ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_SUBJECT @@ -1121,7 +1285,7 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-subject :end-before: end-minio-notify-nats-subject - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_nats subject ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_USERNAME @@ -1132,7 +1296,7 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-username :end-before: end-minio-notify-nats-username - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_nats username ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_PASSWORD @@ -1143,7 +1307,7 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-password :end-before: end-minio-notify-nats-password - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_nats password ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_TOKEN @@ -1154,7 +1318,7 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-token :end-before: end-minio-notify-nats-token - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_nats token ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_TLS @@ -1165,7 +1329,7 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-tls :end-before: end-minio-notify-nats-tls - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_nats tls ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY @@ -1176,8 +1340,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-tls-skip-verify :end-before: end-minio-notify-nats-tls-skip-verify - This environment variable corresponds with the - :mc-conf:`notify_nats tls_skip_verify ` + This environment variable corresponds with the + :mc-conf:`notify_nats tls_skip_verify ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_PING_INTERVAL @@ -1188,8 +1352,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-ping-interval :end-before: end-minio-notify-nats-ping-interval - This environment variable corresponds with the - :mc-conf:`notify_nats ping_interval ` + This environment variable corresponds with the + :mc-conf:`notify_nats ping_interval ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_STREAMING @@ -1200,8 +1364,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-streaming :end-before: end-minio-notify-nats-streaming - This environment variable corresponds with the - :mc-conf:`notify_nats streaming ` configuration + This environment variable corresponds with the + :mc-conf:`notify_nats streaming ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_STREAMING_ASYNC @@ -1212,8 +1376,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-streaming-async :end-before: end-minio-notify-nats-streaming-async - This environment variable corresponds with the - :mc-conf:`notify_nats streaming_async ` + This environment variable corresponds with the + :mc-conf:`notify_nats streaming_async ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT @@ -1224,8 +1388,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-streaming-max-pub-acks-in-flight :end-before: end-minio-notify-nats-streaming-max-pub-acks-in-flight - This environment variable corresponds with the - :mc-conf:`notify_nats streaming_max_pub_acks_in_flight + This environment variable corresponds with the + :mc-conf:`notify_nats streaming_max_pub_acks_in_flight ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID @@ -1236,8 +1400,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-streaming-cluster-id :end-before: end-minio-notify-nats-streaming-cluster-id - This environment variable corresponds with the - :mc-conf:`notify_nats streaming_cluster_id + This environment variable corresponds with the + :mc-conf:`notify_nats streaming_cluster_id ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_CERT_AUTHORITY @@ -1248,8 +1412,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-cert-authority :end-before: end-minio-notify-nats-cert-authority - This environment variable corresponds with the - :mc-conf:`notify_nats cert_authority ` + This environment variable corresponds with the + :mc-conf:`notify_nats cert_authority ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_CLIENT_CERT @@ -1260,8 +1424,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-client-cert :end-before: end-minio-notify-nats-client-cert - This environment variable corresponds with the - :mc-conf:`notify_nats client_cert ` + This environment variable corresponds with the + :mc-conf:`notify_nats client_cert ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_CLIENT_KEY @@ -1272,8 +1436,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-client-key :end-before: end-minio-notify-nats-client-key - This environment variable corresponds with the - :mc-conf:`notify_nats client_key ` + This environment variable corresponds with the + :mc-conf:`notify_nats client_key ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_QUEUE_DIR @@ -1284,8 +1448,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-queue-dir :end-before: end-minio-notify-nats-queue-dir - This environment variable corresponds with the - :mc-conf:`notify_nats queue_dir ` configuration + This environment variable corresponds with the + :mc-conf:`notify_nats queue_dir ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_QUEUE_LIMIT @@ -1296,8 +1460,8 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-queue-limit :end-before: end-minio-notify-nats-queue-limit - This environment variable corresponds with the - :mc-conf:`notify_nats queue_limit ` configuration + This environment variable corresponds with the + :mc-conf:`notify_nats queue_limit ` configuration setting. .. envvar:: MINIO_NOTIFY_NATS_COMMENT @@ -1308,7 +1472,7 @@ an NATS service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-nats-comment :end-before: end-minio-notify-nats-comment - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_nats comment ` configuration setting. @@ -1320,7 +1484,7 @@ PostgreSQL Service for Bucket Notifications The following section documents environment variables for configuring an POSTGRESQL service as a target for :doc:`MinIO Bucket Notifications `. See -:ref:`minio-bucket-notifications-publish-postgresql` for a tutorial on +:ref:`minio-bucket-notifications-publish-postgresql` for a tutorial on using these environment variables. You can specify multiple PostgreSQL service endpoints by appending a unique identifier @@ -1364,7 +1528,7 @@ associated to an PostgreSQL service endpoint with ID of ``PRIMARY``. :mc-conf:`notify_postgresql ` configuration setting. .. envvar:: MINIO_NOTIFY_POSTGRESQL_CONNECTION_STRING - + *Required* .. include:: /includes/common-mc-admin-config.rst @@ -1377,7 +1541,7 @@ associated to an PostgreSQL service endpoint with ID of ``PRIMARY``. .. envvar:: MINIO_NOTIFY_POSTGRESQL_TABLE - + *Required* .. include:: /includes/common-mc-admin-config.rst @@ -1390,7 +1554,7 @@ associated to an PostgreSQL service endpoint with ID of ``PRIMARY``. .. envvar:: MINIO_NOTIFY_POSTGRESQL_FORMAT - + *Required* .. include:: /includes/common-mc-admin-config.rst @@ -1403,7 +1567,7 @@ associated to an PostgreSQL service endpoint with ID of ``PRIMARY``. .. envvar:: MINIO_NOTIFY_POSTGRESQL_MAX_OPEN_CONNECTIONS - + *Optional* .. include:: /includes/common-mc-admin-config.rst @@ -1411,7 +1575,7 @@ associated to an PostgreSQL service endpoint with ID of ``PRIMARY``. :end-before: end-minio-notify-postgresql-max-open-connections This environment variable corresponds with the - :mc-conf:`notify_postgresql max_open_connections + :mc-conf:`notify_postgresql max_open_connections ` configuration setting. @@ -1423,8 +1587,8 @@ associated to an PostgreSQL service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-postgresql-queue-dir :end-before: end-minio-notify-postgresql-queue-dir - This environment variable corresponds with the - :mc-conf:`notify_postgresql queue_dir ` + This environment variable corresponds with the + :mc-conf:`notify_postgresql queue_dir ` configuration setting. .. envvar:: MINIO_NOTIFY_POSTGRESQL_QUEUE_LIMIT @@ -1435,8 +1599,8 @@ associated to an PostgreSQL service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-postgresql-queue-limit :end-before: end-minio-notify-postgresql-queue-limit - This environment variable corresponds with the - :mc-conf:`notify_postgresql queue_limit ` + This environment variable corresponds with the + :mc-conf:`notify_postgresql queue_limit ` configuration setting. .. envvar:: MINIO_NOTIFY_POSTGRESQL_COMMENT @@ -1447,8 +1611,8 @@ associated to an PostgreSQL service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-postgresql-comment :end-before: end-minio-notify-postgresql-comment - This environment variable corresponds with the - :mc-conf:`notify_postgresql comment ` + This environment variable corresponds with the + :mc-conf:`notify_postgresql comment ` configuration setting. .. _minio-server-envvar-bucket-notification-mysql: @@ -1459,7 +1623,7 @@ MySQL Service for Bucket Notifications The following section documents environment variables for configuring an MYSQL service as a target for :doc:`MinIO Bucket Notifications `. See -:ref:`minio-bucket-notifications-publish-mysql` for a tutorial on +:ref:`minio-bucket-notifications-publish-mysql` for a tutorial on using these environment variables. You can specify multiple MySQL service endpoints by appending a unique @@ -1503,7 +1667,7 @@ associated to an MySQL service endpoint with ID of ``PRIMARY``. :mc-conf:`notify_mysql ` configuration setting. .. envvar:: MINIO_NOTIFY_MYSQL_DSN_STRING - + *Required* .. include:: /includes/common-mc-admin-config.rst @@ -1516,7 +1680,7 @@ associated to an MySQL service endpoint with ID of ``PRIMARY``. .. envvar:: MINIO_NOTIFY_MYSQL_TABLE - + *Required* .. include:: /includes/common-mc-admin-config.rst @@ -1529,7 +1693,7 @@ associated to an MySQL service endpoint with ID of ``PRIMARY``. .. envvar:: MINIO_NOTIFY_MYSQL_FORMAT - + *Required* .. include:: /includes/common-mc-admin-config.rst @@ -1542,7 +1706,7 @@ associated to an MySQL service endpoint with ID of ``PRIMARY``. .. envvar:: MINIO_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS - + *Optional* .. include:: /includes/common-mc-admin-config.rst @@ -1550,7 +1714,7 @@ associated to an MySQL service endpoint with ID of ``PRIMARY``. :end-before: end-minio-notify-mysql-max-open-connections This environment variable corresponds with the - :mc-conf:`notify_mysql max_open_connections + :mc-conf:`notify_mysql max_open_connections ` configuration setting. @@ -1562,8 +1726,8 @@ associated to an MySQL service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mysql-queue-dir :end-before: end-minio-notify-mysql-queue-dir - This environment variable corresponds with the - :mc-conf:`notify_mysql queue_dir ` + This environment variable corresponds with the + :mc-conf:`notify_mysql queue_dir ` configuration setting. .. envvar:: MINIO_NOTIFY_MYSQL_QUEUE_LIMIT @@ -1574,8 +1738,8 @@ associated to an MySQL service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mysql-queue-limit :end-before: end-minio-notify-mysql-queue-limit - This environment variable corresponds with the - :mc-conf:`notify_mysql queue_limit ` + This environment variable corresponds with the + :mc-conf:`notify_mysql queue_limit ` configuration setting. .. envvar:: MINIO_NOTIFY_MYSQL_COMMENT @@ -1586,8 +1750,8 @@ associated to an MySQL service endpoint with ID of ``PRIMARY``. :start-after: start-minio-notify-mysql-comment :end-before: end-minio-notify-mysql-comment - This environment variable corresponds with the - :mc-conf:`notify_mysql comment ` + This environment variable corresponds with the + :mc-conf:`notify_mysql comment ` configuration setting. @@ -1632,7 +1796,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-brokers :end-before: end-minio-notify-kafka-brokers - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka brokers ` configuration setting. @@ -1644,7 +1808,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-topic :end-before: end-minio-notify-kafka-topic - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka topic ` configuration setting. @@ -1656,7 +1820,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-sasl-username :end-before: end-minio-notify-kafka-sasl-username - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka sasl_username ` configuration setting. @@ -1668,7 +1832,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-sasl-password :end-before: end-minio-notify-kafka-sasl-password - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka sasl_password ` configuration setting. @@ -1680,7 +1844,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-sasl-mechanism :end-before: end-minio-notify-kafka-sasl-mechanism - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka sasl_mechanism ` configuration setting. @@ -1692,7 +1856,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-tls-client-auth :end-before: end-minio-notify-kafka-tls-client-auth - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka tls_client_auth ` configuration setting. @@ -1704,7 +1868,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-sasl :end-before: end-minio-notify-kafka-sasl - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka sasl ` configuration setting. @@ -1716,7 +1880,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-tls :end-before: end-minio-notify-kafka-tls - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka tls ` configuration setting. @@ -1728,7 +1892,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-tls-skip-verify :end-before: end-minio-notify-kafka-tls-skip-verify - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka tls_skip_verify ` configuration setting. @@ -1740,7 +1904,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-client-tls-cert :end-before: end-minio-notify-kafka-client-tls-cert - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka client_tls_cert ` configuration setting. @@ -1752,7 +1916,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-client-tls-key :end-before: end-minio-notify-kafka-client-tls-key - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka client_tls_key ` configuration setting. @@ -1764,7 +1928,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-version :end-before: end-minio-notify-kafka-version - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka version ` configuration setting. @@ -1776,7 +1940,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-queue-dir :end-before: end-minio-notify-kafka-queue-dir - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka queue_dir ` configuration setting. @@ -1788,7 +1952,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-queue-limit :end-before: end-minio-notify-kafka-queue-limit - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka queue_limit ` configuration setting. @@ -1800,7 +1964,7 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :start-after: start-minio-notify-kafka-comment :end-before: end-minio-notify-kafka-comment - This environment variable corresponds to the + This environment variable corresponds to the :mc-conf:`notify_kafka comment ` configuration setting. @@ -1838,85 +2002,85 @@ endpoints as ``PRIMARY`` and ``SECONDARY`` respectively: :end-before: minio-notify-webhook-enable .. envvar:: MINIO_NOTIFY_WEBHOOK_ENDPOINT - + *Required* .. include:: /includes/common-mc-admin-config.rst :start-after: minio-notify-webhook-endpoint :end-before: minio-notify-webhook-endpoint - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_webhook endpoint ` configuration setting. .. envvar:: MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN - + *Required* .. include:: /includes/common-mc-admin-config.rst :start-after: minio-notify-webhook-auth-token :end-before: minio-notify-webhook-auth-token - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_webhook auth_token ` configuration setting. .. envvar:: MINIO_NOTIFY_WEBHOOK_QUEUE_DIR - + *Optional* .. include:: /includes/common-mc-admin-config.rst :start-after: minio-notify-webhook-queue-dir :end-before: minio-notify-webhook-queue-dir - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_webhook queue_dir ` configuration setting. .. envvar:: MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT - + *Optional* .. include:: /includes/common-mc-admin-config.rst :start-after: minio-notify-webhook-queue-limit :end-before: minio-notify-webhook-queue-limit - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_webhook queue_limit ` configuration setting. .. envvar:: MINIO_NOTIFY_WEBHOOK_CLIENT_CERT - + *Optional* .. include:: /includes/common-mc-admin-config.rst :start-after: minio-notify-webhook-client-cert :end-before: minio-notify-webhook-client-cert - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_webhook client_cert ` configuration setting. .. envvar:: MINIO_NOTIFY_WEBHOOK_CLIENT_KEY - + *Optional* .. include:: /includes/common-mc-admin-config.rst :start-after: minio-notify-webhook-client-key :end-before: minio-notify-webhook-client-key - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_webhook client_key ` configuration setting. .. envvar:: MINIO_NOTIFY_WEBHOOK_COMMENT - + *Optional* .. include:: /includes/common-mc-admin-config.rst :start-after: minio-notify-webhook-comment :end-before: minio-notify-webhook-comment - This environment variable corresponds with the + This environment variable corresponds with the :mc-conf:`notify_webhook comment ` configuration setting. diff --git a/sphinxext/minio.py b/sphinxext/minio.py index e71801a1..f696d937 100644 --- a/sphinxext/minio.py +++ b/sphinxext/minio.py @@ -491,7 +491,8 @@ class MinIODomain(Domain): 'mc-cmd-option': ObjType(_('mc-cmd-option'), 'mc-cmd-option'), 'policy-action': ObjType(_('policy-action'), 'policy-action'), 'envvar': ObjType(_('envvar'), 'envvar'), - 'mc-conf': ObjType(_('mc-conf'), 'mc-conf') + 'mc-conf': ObjType(_('mc-conf'), 'mc-conf'), + 'metric': ObjType(_('metric'), 'metric'), } directives = { 'data': MinioObject, @@ -503,6 +504,7 @@ class MinIODomain(Domain): 'policy-action': MinioObject, 'envvar': MinioObject, 'mc-conf': MinioObject, + 'metric': MinioObject, } roles = { 'data': MinioXRefRole(), @@ -515,6 +517,7 @@ class MinIODomain(Domain): 'policy-action': MinioXRefRole(), 'envvar': MinioXRefRole(), 'mc-conf': MinioXRefRole(), + 'metric': MinioXRefRole(), } initial_data = {