/cortex

A horizontally scalable, highly available, multi-tenant, long term Prometheus.

Primary LanguageGoApache License 2.0Apache-2.0

Cortex Logo

CI GoDoc Go Report Card Slack CLOMonitor

Cortex: horizontally scalable, highly available, multi-tenant, long term storage for Prometheus.

Cortex provides horizontally scalable, highly available, multi-tenant, long term storage for Prometheus.

  • Horizontally scalable: Cortex can run across multiple machines in a cluster, exceeding the throughput and storage of a single machine. This enables you to send the metrics from multiple Prometheus servers to a single Cortex cluster and run "globally aggregated" queries across all data in a single place.
  • Highly available: When run in a cluster, Cortex can replicate data between machines. This allows you to survive machine failure without gaps in your graphs.
  • Multi-tenant: Cortex can isolate data and queries from multiple different independent Prometheus sources in a single cluster, allowing untrusted parties to share the same cluster.
  • Long term storage: Cortex supports S3, GCS, Swift and Microsoft Azure for long term storage of metric data. This allows you to durably store data for longer than the lifetime of any single machine, and use this data for long term capacity planning.

Cortex is a CNCF incubation project used in several production systems including Amazon Managed Service for Prometheus (AMP).

Cortex is primarily used as a remote write destination for Prometheus, with a Prometheus-compatible query API.

Chunk Storage Deprecation Notice

The chunks storage is deprecated since v1.10.0. You're encouraged to use the blocks storage.

Chunks storage was removed in release 1.14.0

Documentation

Read the getting started guide if you're new to the project. Before deploying Cortex with a permanent storage backend you should read:

  1. An overview of Cortex's architecture
  2. Getting started with Cortex
  3. Information regarding configuring Cortex

For a guide to contributing to Cortex, see the contributor guidelines.

Further reading

To learn more about Cortex, consult the following talks and articles.

Talks and articles

Getting Help

If you have any questions about Cortex:

Your feedback is always welcome.

For security issues see https://github.com/cortexproject/cortex/security/policy

Community Meetings

The Cortex community call happens every two weeks on Thursday, alternating at 1200 UTC and 1700 UTC. Meeting notes are held here.

To see meeting calendar:

Hosted Cortex (Prometheus as a service)

There are several commercial services where you can use Cortex on-demand:

Amazon Managed Service for Prometheus (AMP)

Amazon Managed Service for Prometheus (AMP) is a Prometheus-compatible monitoring service that makes it easy to monitor containerized applications at scale. It is a highly available, secure, and managed monitoring for your containers. Get started here. To learn more about the AMP, reference our documentation and Getting Started with AMP blog.

Emeritus Maintainers

  • Peter Štibraný @pstibrany
  • Marco Pracucci @pracucci
  • Bryan Boreham @bboreham
  • Goutham Veeramachaneni @gouthamve
  • Jacob Lisi @jtlisi
  • Tom Wilkie @tomwilkie

History of Cortex

The Cortex project was started by Tom Wilkie (Grafana Labs' VP Product) and Julius Volz (Prometheus' co-founder) in June 2016.