Pular para o conteúdo

MinIO

Este conteúdo não está disponível em sua língua ainda.

A MinIO object store through its Prometheus metrics: nodes and drives that went offline, raw and usable capacity, objects and buckets, the self-healing that fails, replication failures and S3 requests that end in a server error.

DumbMonit reads /minio/v2/metrics/cluster with the JWT that mc admin prometheus generate makes, sent as Authorization: Bearer, never in the URL. The token opens the metrics pages and nothing else: no S3 access, no console, no other right. If MinIO runs with MINIO_PROMETHEUS_AUTH_TYPE=public, the pages need no token. The cluster page is required; /minio/v2/metrics/node (uptime of the node asked) is optional. Metric names changed across MinIO releases (disk became drive): both are read, and a family the server does not publish simply produces no figure. The console port (9001) is not used.

From the DumbMonit server (or its relay agent) to the device:

PortProtocolPurpose
9000TCPS3 API and metrics (HTTP or HTTPS, default)

All metrics are prefixed dumbmonit_minio_.

MetricLabelsMeaning
version_infoversion, commitValue 1.
nodes_online, nodes_offlineNodes of the cluster.
drives_online, drives_offline, drivesDrives of the cluster.
capacity_raw_bytes, capacity_raw_free_bytes, capacity_raw_used_percentRaw capacity.
capacity_usable_bytes, capacity_usable_free_bytes, capacity_usable_used_percentUsable capacity, after parity.
usage_bytes, objects, bucketsData stored, objects, buckets.
heal_objects_failedObjects the current self-healing run could not repair.
heal_idle_secondsTime since the last healing activity; not published until the first run ends.
heal_active1 when healing was active in the last five minutes.
replication_failed_objectsObjects that failed to replicate (published when the server exposes it).
s3_requests_total, s3_requests_4xx_total, s3_requests_5xx_totalS3 request counters. 5xx are server errors; 4xx are client errors.
uptime_secondsUptime of the node answering.

The built-in rules that apply:

  • MinIO node offline: for five minutes (Warning).
  • MinIO drive offline: for five minutes (Advisory).
  • MinIO capacity high: usable capacity above 85 % for 30 minutes (Advisory).
  • MinIO heal failures: for 30 minutes (Advisory).
  • MinIO replication failures: for 30 minutes (Advisory).
  • MinIO S3 server errors: more than 5 % of requests in 5xx over ten minutes (Advisory).

The Object store panel says what is wrong in a sentence and shows nodes and drives online, capacity used and the number of objects.

  1. With the mc client configured for your MinIO (alias myminio), generate the token of the cluster metrics.

    mc admin prometheus generate myminio cluster
  2. Copy the value after bearer_token in the output: that is the token.

  3. In DumbMonit, enter the MinIO address (for example minio.lan), paste the token as Prometheus token and choose https if MinIO serves TLS.

  • Prometheus token — Opens the metrics pages only, no S3 or console access
  • Replication failures and 5xx counters come from the families recent MinIO releases publish; an older release may not have them.
CredentialFields
Prometheus tokenThe bearer_token printed by mc admin prometheus generate.
No authenticationFor a server with MINIO_PROMETHEUS_AUTH_TYPE=public.

Address: the host name or IP of any node, host:port, or a URL. Options:

  • Protocol (http): http or https.
  • Port (9000): the S3 API port, not the console (9001).
  • Accept an unverifiable certificate: for a server with TLS and a self-signed certificate.
  • Timeout per request (15 s).

“MinIO accepted the credentials but refused … (403)”: the token is wrong or was made for another server’s key. Generate a new one.

“does not look like MinIO cluster metrics”: the address or port is not the S3 API of a MinIO server (9000, not the console).

A node of a distributed cluster that does not answer is reported by the others: point DumbMonit at a node that stays up, and add a ping or port monitor on each node to see which one.