thanos README

The project's README from github.com/thanos-io/thanos. As one markdown file: README.md.

Thanos Logo

Latest Release Go Code reference Slack Netlify Status CII Best Practices

CI CI go react docs Gitpod ready-to-code Open in GitHub Codespaces

📢 ThanosCon happened on 19th March 2024 as a co-located half-day on KubeCon EU in Paris.

Overview

Thanos is a set of components that can be composed into a highly available metric system with unlimited storage capacity, which can be added seamlessly on top of existing Prometheus deployments.

Thanos is a CNCF Incubating project.

Thanos leverages the Prometheus 2.0 storage format to cost-efficiently store historical metric data in any object storage while retaining fast query latencies. Additionally, it provides a global query view across all Prometheus installations and can merge data from Prometheus HA pairs on the fly.

Concretely the aims of the project are:

  1. Global query view of metrics.
  2. Unlimited retention of metrics.
  3. High availability of components, including Prometheus.

Getting Started

Features

Architecture Overview

Deployment with Sidecar for Kubernetes:

Sidecar

Deployment with Receive in order to scale out or implement with other remote write compatible sources:

Receive

Thanos Philosophy

The philosophy of Thanos and our community is borrowing much from UNIX philosophy and the golang programming language.

Releases

Main branch should be stable and usable. Every commit to main builds docker image named main-<date>-<sha> in quay.io/thanos/thanos and thanosio/thanos dockerhub (mirror)

We also perform minor releases every 6 weeks.

During that, we build tarballs for major platforms and release docker images.

See release process docs for details.

Contributing

Contributions are very welcome! See our CONTRIBUTING.md for more information.

Community

Thanos is an open source project and we value and welcome new contributors and members of the community. Here are ways to get in touch with the community:

Adopters

See Adopters List.

Maintainers

See MAINTAINERS.md

thanos (thanos-io/thanos)

Searching Database…

14.2K ·GitHub
What is this?Thanos is a set of components that turn existing Prometheus deployments into a highly available metric system with unlimited storage capacity. It is a CNCF Incubating project written in Go.
Is Thanos a single program or a set of separate components?A set of composable components shipped as one Go binary with subcommands — each subcommand does one thing well, e.g. 'thanos query' proxies calls to Store API endpoints and merges results.
How do I get it running?Run the Sidecar next to each Prometheus in Kubernetes, or Receive to scale out ingestion. Images are at quay.io/thanos/thanos (mirrored as thanosio/thanos on Docker Hub); releases also ship tarballs for major platforms.
Do I need anything besides Prometheus to run it?Object storage is the only dependency, and even it is optional — history is stored in the native Prometheus 2.0 format on any object storage (S3, Google Cloud Storage and others) while keeping query latencies fast.
Will it work with my existing Prometheus setup, or do I have to reconfigure everything?No overhaul needed — Thanos integrates seamlessly with existing Prometheus setups and is simply added on top of them.
What do I actually gain over plain Prometheus?A global query view across all connected Prometheus servers, unlimited retention in object storage, deduplication and on-the-fly merging of metrics from Prometheus HA pairs, downsampling of historical data for massive query speedup, cross-cluster federation, and fault-tolerant query routing.
Can Thanos ingest metrics from sources other than Prometheus?Yes — in Receive mode Thanos can scale out ingestion and integrate other remote-write compatible sources alongside Prometheus.
How can my own tools read metrics out of Thanos?Through a simple gRPC 'Store API' that gives unified access to all metric data, plus easy integration points for custom metric providers.
Creator
thanos-io
Size
238.6 MB
Stars
14.2K
Age
8y
Commits · 90 Days