Thanos (CNCF Incubating)
Sidecar neben jedem Prometheus lädt TSDB-Blöcke in Object Storage; Query liefert die globale Sicht und dedupliziert HA-Paare; Store Gateway liest alte Blöcke, Compactor verdichtet und downsampled, Receive nimmt Remote-Write an. Prometheus bleibt die Scrape-Quelle.
XOR2-Chunks
(storage.tsdb.chunk_encoding.floats: xor2; in 3.13
experimentell und nur mit
--enable-feature=xor2-encoding, stabil ab 3.15, dort
auch implizit durch --enable-feature=st-storage) erst
einschalten, wenn der Sidecar sie lesen kann. Ein Downgrade auf
eine Version ohne XOR2 verlangt das Löschen der betroffenen
Blöcke.
Grafana Mimir (AGPLv3)
Horizontal skalierbarer, nativ multi-tenanter
Langzeit-Store; Ingest via Remote-Write oder OTLP
(/otlp/v1/metrics), Ablage in Object Storage
(S3/GCS/Azure). Projektangabe: bis zu 1 Mrd. aktive Serien.
Wahl: Thanos hält Prometheus im Zentrum, Mimir
zentralisiert.
HA-Grundmuster
Zwei Prometheus-Replicas scrapen dieselben Targets und
unterscheiden sich nur in einem Replica-external_label;
Dedup passiert downstream (Thanos Query
--query.replica-label, Mimir-HA-Tracker mit
cluster/__replica__, per Default aus).
Beide melden an denselben Alertmanager-Cluster
und listen jede Instanz einzeln, ohne Load Balancer dazwischen. Das
Replica-Label per alert_relabel_configs
(labeldrop) entfernen, sonst dedupliziert der
Alertmanager nicht. Der Operator macht das
automatisch (prometheus_replica).