ProductPrometheus
Websiteprometheus.io
CategoryMonitoring / Metrics
LicenseApache 2.0 (CNCF graduated project)
PricingFree and open source

What Is Prometheus?

Prometheus is an open-source monitoring and alerting toolkit originally built at SoundCloud. It collects time-series metrics from instrumented targets, stores them in an efficient local time-series database, and lets you query them with PromQL. It is a CNCF graduated project — the same foundation that stewards Kubernetes.

Prometheus uses a pull model: instead of applications pushing metrics to a central server, Prometheus scrapes HTTP endpoints that expose metrics. This model simplifies instrumentation (export metrics at /metrics) and lets Prometheus discover targets automatically through service discovery (Kubernetes, Consul, EC2, DNS).

Key Features

PromQL

Prometheus’s query language is purpose-built for time-series data. Calculate rates, aggregations, histograms, and predictions over any time range. PromQL is the reason Prometheus won: it gives operators the ability to ask precise questions about system behavior that other monitoring tools can’t express.

Service Discovery

Prometheus discovers scrape targets automatically from Kubernetes, Consul, EC2, Azure, GCE, DNS, and file-based configs. When a new pod starts in Kubernetes, Prometheus finds it and starts scraping within seconds. No manual configuration of what to monitor.

Alertmanager

Define alerting rules in PromQL. When a rule fires, Alertmanager handles deduplication, grouping, silencing, and routing to PagerDuty, Slack, email, webhooks, or other receivers. Alertmanager is a separate process, decoupling alert evaluation from notification delivery.

Client Libraries

Official client libraries for Go, Java, Python, Ruby, Rust, and community libraries for dozens of other languages. Instrument your application by exposing counters, gauges, histograms, and summaries on an HTTP endpoint. Prometheus scrapes them automatically.

Who Is This For?

Pros

  • Industry standard for cloud-native monitoring
  • PromQL is the most expressive metrics query language
  • Automatic service discovery (Kubernetes, cloud, DNS)
  • Huge ecosystem of exporters (700+)
  • CNCF graduated project with strong governance
  • Free and open source (Apache 2.0)

Cons

  • Local storage doesn’t scale for long-term retention
  • PromQL learning curve
  • No built-in dashboards (use Grafana)
  • Pull model doesn’t work for short-lived jobs (pushgateway workaround)
  • High-cardinality labels can blow up memory

Verdict

Prometheus is the standard. If you’re running anything on Kubernetes, Prometheus is already part of your stack (kube-state-metrics, node-exporter, and the Prometheus Operator are the standard monitoring setup). The combination of PromQL, automatic service discovery, and 700+ community exporters means you can monitor almost anything with minimal instrumentation work.

The main limitation is storage: Prometheus stores data locally and doesn’t handle long-term retention or horizontal scaling natively. Thanos, Cortex, and Grafana Mimir solve this by adding a remote storage layer. If you need months of metrics history at scale, you’ll need one of these on top of Prometheus.

Build a monitoring or infrastructure tool?

Get reviewed and linked from our 27-site network.

See Packages