| Product | Prometheus |
| Website | prometheus.io |
| Category | Monitoring / Metrics |
| License | Apache 2.0 (CNCF graduated project) |
| Pricing | Free 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?
- DevOps and SRE teams running infrastructure on Kubernetes or cloud providers
- Anyone replacing Nagios, Zabbix, or StatsD with a modern metrics stack
- Teams that need precise operational queries (PromQL)
- Organizations that want open-source monitoring without vendor lock-in
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