Skip to content

Latest commit

 

History

History
162 lines (109 loc) · 7.55 KB

getting-started.md

File metadata and controls

162 lines (109 loc) · 7.55 KB
title type menu weight
Getting Started
docs
thanos
1

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.

Main should be stable and usable. Every commit to main builds docker image named main-<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.16+ 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:

Component Interface Port
Sidecar gRPC 10901
Sidecar HTTP 10902
Query gRPC 10903
Query HTTP 10904
Store gRPC 10905
Store HTTP 10906
Receive gRPC (store API) 10907
Receive HTTP (remote write API) 10908
Receive HTTP 10909
Rule gRPC 10910
Rule HTTP 10911
Compact HTTP 10912
Query Frontend HTTP 10913

You can see example one-node setup here.