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