Prometheus

devopsanalytics

Open-source metrics collection and time-series database. Scrapes targets on a pull model, stores dimensional data, and powers alerting via PromQL. The backbone of cloud-native monitoring

#monitoring#metrics#time-series#alerting#promql#kubernetes#cncf#grafana#docker
Alternative to GraphiteInfluxDBZabbix

Quick Start

docker compose up -d

Overview

Prometheus is the open-source standard for metrics collection and alerting in cloud-native environments. It scrapes metrics from targets that expose a /metrics HTTP endpoint, stores them as time-series data with dimensional labels, and makes them queryable via PromQL — a purpose-built query language for filtering, aggregating, and correlating metrics.

The pull-based scraping model is a deliberate design choice. Each service exposes its own metrics endpoint; Prometheus polls it on a configurable interval. This means the monitoring system discovers what to scrape from its own config, and services have no knowledge of where they are being monitored from.

Prometheus is almost always paired with Grafana for visualisation and Alertmanager for notification routing. The combination covers the full loop: collect, store, visualise, alert. A large library of community exporters bridges Prometheus to systems that do not natively expose metrics — databases, hardware, network devices, and legacy applications all have exporters.

It is a CNCF graduated project, on the same level as Kubernetes, which reflects its production maturity. The honest constraint is scope: Prometheus stores metrics, not logs. For log aggregation you need a separate tool like Loki. For very long-term metric retention at scale, you will need Thanos or a similar federation layer, as Prometheus local storage is not designed for multi-year retention across many hosts.

Use Cases

Specific ways to use Prometheus for your workflow.

01
Collect CPU, memory, and application metrics from Docker containers and servers
02
Power Grafana dashboards with a queryable, persistent metrics backend
03
Alert on application health conditions via Alertmanager
04
Monitor Kubernetes clusters alongside the kube-state-metrics exporter

Deployment Strategy

Recommended ways to host Prometheus in your own environment.

docker
self-hosted