github.com/thanos-io/thanos@v0.32.5/README.md (about)

     1  <p align="center"><img src="docs/img/Thanos-logo_fullmedium.png" alt="Thanos Logo"></p>
     2  
     3  [![Latest Release](https://img.shields.io/github/release/thanos-io/thanos.svg?style=flat-square)](https://github.com/thanos-io/thanos/releases/latest) [![Go Report Card](https://goreportcard.com/badge/github.com/thanos-io/thanos)](https://goreportcard.com/report/github.com/thanos-io/thanos) [![Go Code reference](https://img.shields.io/badge/code%20reference-go.dev-darkblue.svg)](https://pkg.go.dev/github.com/thanos-io/thanos?tab=subdirectories) [![Slack](https://img.shields.io/badge/join%20slack-%23thanos-brightgreen.svg)](https://slack.cncf.io/) [![Netlify Status](https://api.netlify.com/api/v1/badges/664a5091-934c-4b0e-a7b6-bc12f822a590/deploy-status)](https://app.netlify.com/sites/thanos-io/deploys) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3048/badge)](https://bestpractices.coreinfrastructure.org/projects/3048)
     4  
     5  [![CI](https://github.com/thanos-io/thanos/workflows/CI/badge.svg)](https://github.com/thanos-io/thanos/actions?query=workflow%3ACI) [![CI](https://circleci.com/gh/thanos-io/thanos.svg?style=svg)](https://circleci.com/gh/thanos-io/thanos) [![go](https://github.com/thanos-io/thanos/workflows/go/badge.svg)](https://github.com/thanos-io/thanos/actions?query=workflow%3Ago) [![react](https://github.com/thanos-io/thanos/workflows/react/badge.svg)](https://github.com/thanos-io/thanos/actions?query=workflow%3Areact) [![docs](https://github.com/thanos-io/thanos/workflows/docs/badge.svg)](https://github.com/thanos-io/thanos/actions?query=workflow%3Adocs) [![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/thanos-io/thanos) [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=109162639)
     6  
     7  ## Overview
     8  
     9  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.
    10  
    11  Thanos is a [CNCF](https://www.cncf.io/) Incubating project.
    12  
    13  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.
    14  
    15  Concretely the aims of the project are:
    16  
    17  1. Global query view of metrics.
    18  2. Unlimited retention of metrics.
    19  3. High availability of components, including Prometheus.
    20  
    21  ## Getting Started
    22  
    23  * **[Getting Started](https://thanos.io/tip/thanos/getting-started.md/)**
    24  * [Design](https://thanos.io/tip/thanos/design.md/)
    25  * [Blog posts](docs/getting-started.md#blog-posts)
    26  * [Talks](docs/getting-started.md#talks)
    27  * [Proposals](docs/proposals-done)
    28  * [Integrations](docs/integrations.md)
    29  
    30  ## Features
    31  
    32  * Global querying view across all connected Prometheus servers
    33  * Deduplication and merging of metrics collected from Prometheus HA pairs
    34  * Seamless integration with existing Prometheus setups
    35  * Any object storage as its only, optional dependency
    36  * Downsampling historical data for massive query speedup
    37  * Cross-cluster federation
    38  * Fault-tolerant query routing
    39  * Simple gRPC "Store API" for unified data access across all metric data
    40  * Easy integration points for custom metric providers
    41  
    42  ## Architecture Overview
    43  
    44  Deployment with Sidecar for Kubernetes:
    45  
    46  <!---
    47  Source file to copy and edit: https://docs.google.com/drawings/d/1AiMc1qAjASMbtqL6PNs0r9-ynGoZ9LIAtf0b9PjILxw/edit?usp=sharing
    48  -->
    49  
    50  ![Sidecar](https://docs.google.com/drawings/d/e/2PACX-1vSJd32gPh8-MC5Ko0-P-v1KQ0Xnxa0qmsVXowtkwVGlczGfVW-Vd415Y6F129zvh3y0vHLBZcJeZEoz/pub?w=960&h=720)
    51  
    52  Deployment with Receive in order to scale out or implement with other remote write compatible sources:
    53  
    54  <!---
    55  Source file to copy and edit: https://docs.google.com/drawings/d/1iimTbcicKXqz0FYtSfz04JmmVFLVO9BjAjEzBm5538w/edit?usp=sharing
    56  -->
    57  
    58  ![Receive](https://docs.google.com/drawings/d/e/2PACX-1vRdYP__uDuygGR5ym1dxBzU6LEx5v7Rs1cAUKPsl5BZrRGVl5YIj5lsD_FOljeIVOGWatdAI9pazbCP/pub?w=960&h=720)
    59  
    60  ## Thanos Philosophy
    61  
    62  The philosophy of Thanos and our community is borrowing much from UNIX philosophy and the golang programming language.
    63  
    64  * Each subcommand should do one thing and do it well
    65    * e.g. thanos query proxies incoming calls to known store API endpoints merging the result
    66  * Write components that work together
    67    * e.g. blocks should be stored in native prometheus format
    68  * Make it easy to read, write, and, run components
    69    * e.g. reduce complexity in system design and implementation
    70  
    71  ## Releases
    72  
    73  Main branch should be stable and usable. Every commit to main builds docker image named `main-<date>-<sha>` in [quay.io/thanos/thanos](https://quay.io/repository/thanos/thanos) and [thanosio/thanos dockerhub (mirror)](https://hub.docker.com/r/thanosio/thanos)
    74  
    75  We also perform minor releases every 6 weeks.
    76  
    77  During that, we build tarballs for major platforms and release docker images.
    78  
    79  See [release process docs](docs/release-process.md) for details.
    80  
    81  ## Contributing
    82  
    83  Contributions are very welcome! See our [CONTRIBUTING.md](CONTRIBUTING.md) for more information.
    84  
    85  ## Community
    86  
    87  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:
    88  
    89  * Slack: [#thanos](https://slack.cncf.io/)
    90  * Issue Tracker: [GitHub Issues](https://github.com/thanos-io/thanos/issues)
    91  
    92  ## Adopters
    93  
    94  See [`Adopters List`](website/data/adopters.yml).
    95  
    96  ## Maintainers
    97  
    98  See [MAINTAINERS.md](MAINTAINERS.md)