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
这是什么?Thanos 是一组组件,可以把现有的 Prometheus 部署改造成一个高可用、存储容量不受限制的指标系统。它是一个用 Go 编写的 CNCF 孵化项目。
Thanos 是单个程序,还是一组独立的组件?是一组可组合的组件,打包成一个带子命令的 Go 二进制文件——每个子命令只做好一件事,例如 'thanos query' 会把调用代理到 Store API 端点并合并结果。
我怎么把它跑起来?在 Kubernetes 中,把 Sidecar 部署到每个 Prometheus 旁边;要横向扩展数据写入,就使用 Receive。镜像在 quay.io/thanos/thanos(Docker Hub 上的镜像站为 thanosio/thanos);各主要平台的发布版还提供 tarball 压缩包。
除了 Prometheus 之外,运行它还需要别的东西吗?对象存储是唯一的依赖,而且它也是可选的——历史数据以原生的 Prometheus 2.0 格式存储在任何对象存储上(S3、Google Cloud Storage 等),同时查询延迟依然很快。
它能和我现有的 Prometheus 配置一起用吗,还是我必须把所有东西都重新配置一遍?不需要大改——Thanos 可以与现有的 Prometheus 部署无缝集成,只需在其之上直接添加即可。
相比原生的 Prometheus,我到底能得到什么?可以跨所有已连接的 Prometheus 服务器进行全局查询;对象存储提供不受限制的数据保留;对来自 Prometheus 高可用(HA)对的指标自动去重并实时合并;对历史数据进行降采样以大幅提升查询速度;支持跨集群联邦;以及容错的查询路由。
Thanos 能接收来自 Prometheus 以外来源的指标吗?可以——在 Receive 模式下,Thanos 可以横向扩展数据写入,并在 Prometheus 之外接入其他兼容 remote-write 的数据源。
我自己的工具怎么从 Thanos 里读取指标?通过一个简单的 gRPC 'Store API',它能统一访问所有指标数据;此外还提供便捷的集成点,方便接入自定义的指标提供方。
Creator
thanos-io
Size
238.6 MB
Stars
14.2K
Age
8y
Commits · 90 Days