Running Prometheus

All Topics

Core Architecture

Prometheus Core Architecture

Prometheus Server

The central component of the system. It scrapes metrics from configured targets at regular intervals, stores them as time-series data, and allows querying through PromQL. It also evaluates alerting rules.

Targets

Applications, services, or exporters that expose metrics over HTTP (usually at /metrics). Prometheus periodically pulls data from these endpoints.

Targets can be:

  • Instrumented applications
  • Infrastructure exporters (e.g., node, database, Kubernetes)

Alertmanager

Receives alerts fired by Prometheus rule evaluations. It manages:

  • Alert grouping
  • Deduplication
  • Routing (email, Slack, PagerDuty, etc.)
  • Silencing and inhibition

It ensures alerts are delivered properly without noise.

Client Libraries

Libraries used to instrument your application code. They allow you to define and expose custom metrics such as counters, gauges, histograms, and summaries.

Available for many languages: Go, Java, Python, Node.js, and more.

For a deeper look at how these components fit together, see the official Prometheus Overview.