What Is Prometheus?


Prometheus is an open-source metrics oriented monitoring and alerting tool. The project was first created by SoundCloud in 2012. In 2016 the project joined the Cloud Native Compute Foundation (CNCF). In 2018, it’s CNCF maturity status changed from incubation to graduated. Prometheus was only the second CNCF project to graduate, after Kubernetes.

Prometheus has quickly become the de facto open-source monitoring tool for Kubernetes and is widely used and supported in the Cloud Native industry.

As described on the Prometheus.io website, the main features of Prometheus are:

  • a multi-dimensional data model with time series data identified by metric name and key/value pairs
  • PromQL, a flexible query language to leverage this dimensionality
  • no reliance on distributed storage; single server nodes are autonomous
  • time series collection happens via a pull model over HTTP
  • pushing time series is supported via an intermediary gateway
  • targets are discovered via service discovery or static configuration
  • multiple modes of graphing and dashboarding support

For a more detailed introduction to Prometheus, the introduction on the Prometheus documentation website is excellent.

The rest of this chapter details how to deploy Prometheus to Kubernetes.