
What is Prometheus?
What is Prometheus?
Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud. Prometheus joined the Cloud Native Computing Foundation in 2016 as the second hosted project, after Kubernetes.
It boils down to this, Prometheus does one thing and it does it well. It has a simple yet powerful data model and a query language that lets you analyze how your applications and infrastructure are performing.
Features
Prometheus was born from the need to monitor multiple microservices that might be running in your system. Its architecture is modular and comes with several readily available modules called exporters, which help you capture metrics from the most popular software.
- 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
Main Components
- The main Prometheus server which scrapes and stores time series data
- client libraries for instrumenting application code
- A push gateway for supporting short-lived jobs
- Special-purpose exporters for services like HAProxy, StatsD, Graphite, etc.
- An alertmanager to handle alerts
Architecture
This diagram illustrates an example architecture of Prometheus and some of its ecosystem components:
Source: Prometheus
Prometheus scrapes metrics from instrumented jobs, either directly or via a push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts.
If you would like to visualize the collected data, Grafana or other API consumers can be used. We’ll discuss this topic in more detail in a future post.
To learn more about Prometheus, Kubernetes or the solutions driving DevSecOps Transformations, get in contact with AlphaBravo today!