Leverage Prometheus for infinite storage capacity with Thanos

Share
  • November 26, 2018

Ever feel like you are running out of space on your Prometheus deployments? Thanks to Thanos, there’s no need to blithely delete half of your database or data models. Thanos is a set of components that can be used to form a highly available metric system with an infinite storage capacity.

Rather than taking the utilitarian approach, Thanos allows developers to compose a seamless addition to their Prometheus deployments. There are easy integration points for custom metric providers, giving developers a customizable and scalable approach to storage.

By utilizing the Prometheus 2.0 storage format, it can efficiently store historical data while still maintaining operation simplicity and reliability. This even includes a massive query speedup because it downsamples the historical data. Any object storage is its only, optional dependency.

SEE ALSO: “Prometheus changed how the cloud-native world thinks of data ingestion scale and how it labels monitoring & other data”

Thanos also provides developers with a global query view across multiple Prometheus installations. It can even merge data from Prometheus HA pairs. Query-routing is fault tolerant. Additionally, Thanos maintains a simple gRPC “Store API” for unified data access across all metric data.

Thanos is a clustered system of components with distinct and decoupled purposes.  These components include:

  • Metric sources – A component that produces or collects metric data. Source advertises this data in the cluster to potential clients. Metric data can be retrieved via a well-known gRPC service. Thanos provides two components that act as data sources: the Prometheus sidecar and rule nodes.
  • Stores – A store node acts as a gateway to block data that is stored in an object storage bucket. It implements the same gRPC API as data sources to provide access to all metric data found in the bucket.
  • Queriers – Queriers are stateless and horizontally scalable instances that implement PromQL on top of the Store APIs exposed in the cluster. Queriers participate in the cluster to be able to resiliently discover all data sources and store nodes. Rule nodes in return can discover query nodes to evaluate recording and alerting rules.

All of Thanos’ features can be run independently, so developers can decide whether they’d like to gradually roll out the changes or make everything change with one snap of a finger.

SEE ALSO: Prometheus hits 2.0, brings massive performance improvements

Getting Thanos

If Josh Brolin is busy, there’s always GitHub. Thanos is open source and readily available for download there. Requirements include a Prometheus v2.2.1 + installation and golang 1.10+; an object storage bucket is optional.

There’s an incredibly helpful getting started guide available here. As always, feedback and contributions are incredibly welcome.

    DevOpsCon Whitepaper 2018

    Free: BRAND NEW DevOps Whitepaper 2018

    Learn about Containers,Continuous Delivery, DevOps Culture, Cloud Platforms & Security with articles by experts like Michiel Rook, Christoph Engelbert, Scott Sanders and many more.

chris evans is the best chris

The post Leverage Prometheus for infinite storage capacity with Thanos appeared first on JAXenter.

Source : JAXenter