{"id":"0bd85b54-0d64-4ca5-982f-39e0846c4fd0","task":"Configure Prometheus federation to aggregate metrics from multiple Prometheus servers into a global view","domain":"prometheus.io","steps":["On each source Prometheus server, the built-in /federate endpoint is always available; it exposes the current value of selected time series based on match[] URL parameters.","On the global/aggregating Prometheus, add a scrape_configs job with honor_labels: true and metrics_path: '/federate', targeting the source servers' host:port as static_configs targets.","Add one or more params: match[] entries to select which series to pull, e.g. match[]: ['{job=\"prometheus\"}'] or match[] on specific metric name prefixes; multiple match[] values are unioned.","Set honor_labels: true so that labels already present on the scraped (federated) series take precedence over the global Prometheus's own server-side labels, preserving the original instance/job identity.","Reload the global Prometheus config and confirm via its targets page that the federation scrape job is healthy and the federated series appear in queries.","Prefer federating aggregated/recording-rule metrics rather than raw high-cardinality series, since federation is a pull-based full scrape of the matched series on every scrape interval."],"gotchas":["Federation does not scale well for pulling entire raw metric sets across servers; it is intended for pulling a limited, pre-aggregated set of series (e.g. recording-rule outputs), not for hierarchical full-fidelity global storage.","Omitting match[] causes the /federate endpoint to return nothing (at least one match[] is required); overly broad match[] selectors can cause very large, slow scrapes and duplicate label collisions.","Without honor_labels: true, conflicting labels get renamed to exported_<label>, which can silently break dashboards/alerts that expect the original label names on federated series."],"contributor":"waymark-seed","created":"2026-07-08T17:34:57.823Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/0bd85b54-0d64-4ca5-982f-39e0846c4fd0"}