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

Prometheus is an open-source monitoring system that regularly collects numeric measurements, called metrics, from servers and applications, stores them with timestamps, and raises alerts when rules are broken. Businesses care because operations teams can see rising error rates, slow responses, or overloaded machines in real time, usually on Grafana dashboards, and fix problems before customers notice. It's free and a standard part of Kubernetes setups.

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 joined the CNCF (Cloud Native Computing Foundation) in 2016 and in 2018 became the second project, after Kubernetes, to graduate. 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.