Getting started #

Thanos provides a global query view, high availability, data backup with historical, cheap data access as its core features in a single binary.

Those features can be deployed independently of each other. This allows you to have a subset of Thanos features ready for immediate benefit or testing, while also making it flexible for gradual roll outs in more complex environments.

In this quick-start guide, we will explain:

  • How to ask questions, build and contribute to Thanos.
  • A few common ways of deploying Thanos.
  • Links for further reading.

Thanos will work in cloud native environments as well as more traditional ones. Some users run Thanos in Kubernetes while others on the bare metal.

Dependencies #

Thanos aims for a simple deployment and maintenance model. The only dependencies are:

Get Thanos! #

You can find the latest Thanos release here.

Master should be stable and usable. Every commit to master builds docker image named master-<data>-<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.

Building from source: #

Thanos is built purely in Golang, thus allowing to run Thanos on various x64 operating systems.

If you want to build Thanos from source you would need a working installation of the Go 1.12+ toolchain (GOPATH, PATH=${GOPATH}/bin:${PATH}).

Thanos can be downloaded and built by running:

go get github.com/thanos-io/thanos/cmd/thanos

The thanos binary should now be in your $PATH and is the only thing required to deploy any of its components.

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:

Maintainers #

See MAINTAINERS.md

Community Thanos Kubernetes Applications #

Thanos is not tied to Kubernetes. However, Kubernetes, Thanos and Prometheus are part of the CNCF so the most popular applications are on top of Kubernetes.

Our friendly community maintains a few different ways of installing Thanos on Kubernetes. See those below:

If you want to add yourself to this list, let us know!

Deploying Thanos #

Operating #

See up to date jsonnet mixins We also have example Grafana dashboards here and some alerts to get you started.

Talks #

Blog posts #

Integrations #

See Integrations page

Testing Thanos on Single Host #

We don’t recommend running Thanos on a single node on production. Thanos is designed and built to run as a distributed system. Vanilla Prometheus might be totally enough for small setups.

However, in case you want to play and run Thanos components on a single node, we recommend following the port layout:

ComponentInterfacePort
SidecargRPC10901
SidecarHTTP10902
QuerygRPC10903
QueryHTTP10904
StoregRPC10905
StoreHTTP10906
ReceivegRPC (store API)10907
ReceiveHTTP (remote write API)10908
ReceiveHTTP10909
RulegRPC10910
RuleHTTP10911
CompactHTTP10912

You can see example one-node setup here


Found a typo, inconsistency or missing information in our docs? Help us to improve Thanos documentation by proposing a fix on GitHub here ❤️