Cloud & Software Development

Prometheus

Also known as: PromQL, Prometheus TSDB, CNCF Prometheus

Prometheus is a monitoring and alerting tool.

It scrapes metrics (CPU usage, request counts, error rates, custom counters) from your services at regular intervals, stores them as time-series data, and lets you query and alert on them. It's the de facto monitoring standard in Kubernetes and cloud-native environments.

Prometheus, explained at three levels

At home

Prometheus is like a health monitor for your software. It regularly asks your servers and apps 'how are you doing?' and records the answers -- CPU usage, how many requests per second, error counts. If something looks wrong, it can send an alert.

At work

Operations teams use Prometheus to track the health of their services in real time. Dashboards (usually in Grafana) show whether systems are overloaded, error rates are rising, or latency is increasing -- before users notice.

Real-world examples

At home

Marcus set up Prometheus on his home server to monitor CPU, memory, and disk usage across his machines. He queries it with PromQL in Grafana to see which process is spiking his CPU at night.

At work

Nadia's team runs Prometheus on Kubernetes with the kube-state-metrics and node-exporter exporters, giving them metrics on every pod, node, and container. AlertManager fires PagerDuty alerts when any pod restarts more than 5 times in 10 minutes.

Common confusions

  • Prometheus stores metrics forever — By default, Prometheus keeps 15 days of data. For long-term retention, teams integrate Thanos, Cortex, or remote write to an external store like Victoria Metrics or Mimir.
  • Prometheus and Grafana are the same tool — Prometheus collects and stores metrics; Grafana visualizes them. They're separate tools that work together -- Prometheus is the data source, Grafana is the dashboarding layer.

For analysts

Business analysts can query Prometheus metrics through Grafana dashboards to track product KPIs like API response time, error rates, and throughput -- without needing access to production logs or databases.

History & origin

Prometheus was built at SoundCloud in 2012, inspired by Google's internal Borgmon monitoring system. SoundCloud open-sourced it in 2015. It became the second project (after Kubernetes) to graduate from the CNCF (Cloud Native Computing Foundation) in 2016. Prometheus's pull-based model, multi-dimensional data model, and PromQL query language became the standard for cloud-native observability, spawning an ecosystem of exporters for every service imaginable.