Thanos
Thanos is a high-availability Prometheus setup optimised for long-term data storage.
Components
flowchart TB
ObjectStorage["Object storage"]
Sidecar
StoreGateway["Store Gateway"]
Compactor
Receiver
Ruler
Querier
QueryFrontend["Query Frontend"]
QueryFrontend --> Querier
Querier --> StoreGateway
StoreGateway --> ObjectStorage
Compactor --> ObjectStorage
Compactor --> StoreGateway
Ruler --> ObjectStorage
Ruler --> StoreGateway
Sidecar --> ObjectStorage
Receiver --> ObjectStorage
- Sidecar runs alongside Prometheus and exports metric data for long-term storage.
- Store Gateway serves metrics from a cloud storage bucket.
- Compactor compacts, downsamples, and applies retention rules to Prometheus metrics and writes it to a bucket.
- Receiver receives Prometheus WAL and exposes it or writes it to object storage.
- Ruler evaluates recording/alerting rules against Thanos data for
- Querier exposes the Prometheus API for clients, atop the other components.
- Query Frontend proxies to the querier and caches responses.
Backlinks