Cortex
Cortex is an open-source horizontally scalable time series database (observability/monitoring) for long-term storage and querying of Prometheus metrics.
- Horizontally scalable, multi-tenant time series database for Prometheus metrics (observability/monitoring).
- Supports durable, long-term storage of metrics in object stores such as Amazon S3 and Google Cloud Storage (data storage).
- Provides a query Application Programming Interface (API) compatible with Prometheus Query Language, PromQL (querying/analytics).
- Implements a microservices-based architecture with components for ingestion, storage, query, and coordination (distributed systems).
- Integrates with Prometheus for remote write and remote read, enabling centralized metrics storage across clusters and environments (monitoring integration).
More About Cortex
Cortex is an open-source project for horizontally scalable, highly available, multi-tenant Prometheus metrics storage and querying (observability/monitoring). It addresses the need to store and query Prometheus time series data beyond the local and time-limited storage of individual Prometheus servers, providing centralized, durable storage for metrics generated across clusters, regions, and environments.
The project implements a distributed architecture composed of multiple services and roles (distributed systems). Commonly described components include distributors for ingesting data, ingesters for handling in-memory and short-term persistence, queriers and query frontends for executing PromQL queries, and store-gateways or store-related services for accessing long-term object storage. Cortex uses a hash ring for sharding and replication of series across ingesters, which supports horizontal scale-out and high availability of metric ingestion and retrieval.
Cortex integrates with Prometheus via the remote write and remote read interfaces (monitoring integration). Prometheus instances send samples to Cortex through remote write, while remote read or direct Hypertext Transfer Protocol (HTTP) APIs allow querying stored metrics using PromQL (querying/analytics). This model allows enterprises to maintain the Prometheus ecosystem for collection and alerting while delegating long-term storage and centralized querying to Cortex.
For long-term data durability, Cortex uses object storage backends such as Amazon S3, Google Cloud Storage, or other compatible systems (data storage). Cortex organizes metrics data into blocks stored in these backends, enabling cost-efficient retention of large volumes of time series data. Indexes and metadata structures are designed to support efficient querying across tenants and time ranges.
Cortex is a project of the Cloud Native Computing Foundation (CNCF) (open-source foundation). It aligns with cloud-native architectures by supporting Kubernetes-based deployments and microservices patterns, and it is often used as a backend for metrics platforms built on Prometheus. In enterprise environments, Cortex is used to aggregate metrics from multiple Kubernetes clusters, data centers, or cloud accounts into a single metrics store, with multi-tenancy controls to isolate data between teams, business units, or customers (multi-tenancy/observability).
From a categorization perspective, Cortex fits within the observability and monitoring stack as a scalable Prometheus-compatible time series database. It complements metric collectors and exporters by providing centralized ingestion, long-term retention, and query capabilities that are compatible with PromQL and existing Prometheus tooling.