Parent: #763
Problem
The public Pigsty scrape configuration still defaults to /minio/v2/metrics/cluster. That endpoint does not cover all node/drive/resource data expected by modern SILO Console widgets, while SILO standardizes on Metrics V3. Bucket metrics also need an explicit per-bucket path.
Proposed baseline
Use the simple, complete topology first:
- scrape
/minio/metrics/v3 for every SILO instance;
- for every bucket declared in
minio_buckets, also scrape /minio/metrics/v3/bucket/<bucket>;
- keep one logical
job="minio" and preserve cls, ins, ip, instance, and flavor;
- select the per-target bucket path through file-SD/relabel metadata;
- keep existing RustFS health-probe behavior intact;
- make legacy MinIO behavior explicit instead of sending unsupported V3 paths to it accidentally.
This intentionally favors complete coverage and a small configuration surface. For N instances and B managed buckets, the expected scrape-target count is N × (1 + B). Measure the actual series count and duplicated cluster/bucket-wide series before adding a more complex designated-target optimization.
Required validation
- Inventory the V3 metric families and series produced by single-node and distributed SILO.
- Quantify per-bucket series growth and verify that only Pigsty-managed buckets are added by default.
- Identify V3 cluster-wide gauges repeated by each instance; retain the raw data but document the correct dashboard aggregation.
- Verify target uniqueness. Do not manufacture uniqueness by putting a bucket name only in the display-form
instance label if another stable label is required for querying.
- Verify scrape authentication, TLS, reload, and target health.
Acceptance criteria
Parent: #763
Problem
The public Pigsty scrape configuration still defaults to
/minio/v2/metrics/cluster. That endpoint does not cover all node/drive/resource data expected by modern SILO Console widgets, while SILO standardizes on Metrics V3. Bucket metrics also need an explicit per-bucket path.Proposed baseline
Use the simple, complete topology first:
/minio/metrics/v3for every SILO instance;minio_buckets, also scrape/minio/metrics/v3/bucket/<bucket>;job="minio"and preservecls,ins,ip,instance, andflavor;This intentionally favors complete coverage and a small configuration surface. For
Ninstances andBmanaged buckets, the expected scrape-target count isN × (1 + B). Measure the actual series count and duplicated cluster/bucket-wide series before adding a more complex designated-target optimization.Required validation
instancelabel if another stable label is required for querying.Acceptance criteria
job,cls,ins, and bucket identity labels.