Video: What is Kubernetes?
Prometheus, the open-source systems monitoring toolkit usually used with Kubernetes, has graduated from the Cloud Native Computing Foundation (CNCF). To move from incubation to graduation, projects must demonstrate thriving adoption, a documented, structured governance process, and a strong commitment to community sustainability and inclusivity. Prometheus has made the grade.
First built at SoundCloud in 2012, Prometheus became a standalone open-source project and joined the CNCF in 2016 as the second hosted project, after Kubernetes. This systems and service monitoring system collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true. When used with Kubernetes Prometheus supports service discovery and monitoring of dynamically scheduled services. It's licensed under theApache 2.
Prometheus boasts the following features.
- A multi-dimensional data model with time series data identified by metric name and key/value pairs
- 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
This sounds complex, but as Frederic Branczyk, a Red Hat Principal Software Engineer, wrote in a blog posting, "Prometheus is easy to set up as a single, statically linked binary that can be downloaded and started with a single command. In tandem with this simplicity, it scales to hundreds of thousands of samples per second ingested on modern commodity hardware. Prometheus' architecture is well suited for dynamic environments in which containers start and stop frequently, instead of requiring manual re-configuration. We specifically re-implemented the time-series database to accommodate high churn use cases with short lived time-series, while retaining and improving query latency and resource usage."
In short, Prometheus is a powerful, open-source system for collecting server metrics. It then stores them in a searchable database. With a highly dimensional data model, you can run queries to slice and dice a collected series of data to generate ad-hoc graphs, tables, and alerts, You can also integrate Prometheus allows with third-party data exporters, such as for Docker, HAProxy, and StatsD.
Also: How to install the Prometheus monitoring system TechRepublic
Branczyk continued, "Nearly as important as the software itself is Prometheus' low barrier to entry into monitoring, helping to define a new era of monitoring culture. Multiple books have been written by both users as well as maintainers of Prometheus highlighting this shift towards usability, and even the new Google SRE workbook uses Prometheus in its example queries and alerts." Chris Aniszczyk, CNCF's COO added, "Since its inception in 2012, Prometheus has grown to become one of the top open-source monitoring tools of choice for enterprises building modern cloud native applications."
While it's best known for its use with Kubernetes to monitor containers and microservices on clouds, that's far from Prometheus only use. For example, Uber uses Prometheus with its newly open-sourced M3 large-scale data metrics program,
Since Prometheus became a CNCF incubation program, its developers have completely rewritten its storage back-end to support high churn and been made more stable. The Prometheus team has also started a documentation push to make it easier to adopt.
"Since becoming part of CNCF, Prometheus has become an incremental piece in modern infrastructure stacks and helped shape the way organizations monitor critical applications," said Julius Volz, Co-founder of the Prometheus project. "We are incredibly proud to have Prometheus graduate, and we look forward to working with CNCF to sustain and grow our community."