← Software

Prometheus

A metrics-based monitoring system and time-series database.

Prometheus logo

Prometheus collects numeric metrics from monitored services by periodically scraping HTTP endpoints, stores them in a custom local time-series database, and exposes a query language (PromQL) for ad-hoc analysis, dashboards, and alerting. Targets can be discovered automatically from Kubernetes, Consul, EC2, Azure, GCP, OpenStack, DNS, and many other sources, which removes the manual "list every server" configuration step that older monitoring systems required.

The data model — labelled metrics with key-value pairs (job, instance, namespace, etc.) — is one of Prometheus's defining features. Cardinality is a real operational concern (high- cardinality labels can balloon storage), but the model is expressive enough that most kinds of metrics naturally fit.

The project was started at SoundCloud in 2012 (modelled in part on Google's internal Borgmon system) and joined the Cloud Native Computing Foundation in 2016. Prometheus has become the de facto open-source monitoring stack for Linux and Kubernetes infrastructure, with the Prometheus Operator and kube-prometheus stack making it nearly automatic to install on a new Kubernetes cluster. The Apache-2.0 licence keeps the core freely usable.

License: Apache-2.0

Category: Observability

Website: https://prometheus.io/

Install

Download a release tarball from https://prometheus.io/download/
and run:
  ./prometheus --config.file=prometheus.yml
Distribution packages also exist:
  Debian/Ubuntu: sudo apt install prometheus
  Fedora/RHEL:   sudo dnf install prometheus
  Arch:          sudo pacman -S prometheus

Authors

  • SoundCloud (origin)
  • Cloud Native Computing Foundation contributors
Previousprocps-ng NextProxmox VE

This site is currently in Beta. Contact: Chris Paton

Textbook of AI · Textbook of Usability · Textbook of Digital Health

Auckland Maths and Science Tutoring