Prometheus: Introduction, Design and Philosophy
Prometheus is an opinionated monitoring system that chooses to do a lot of things differently from traditional monitoring systems. This leads to a culture clash for those used to other approaches, and raises questions as to why we didn’t take a seemingly better approach. This talk focuses on the “why” behind many of the design decisions that are core to Prometheus, including pull vs. push, the dimensional data model, relabeling, per-process exporters, stateful client libraries, as well as aspects like metric naming conventions and having a non-distributed storage as a design goal.
This talk is an updated version of the talk by Julius, the co-founder of Prometheus given at Promcon.
- Introduce prometheus
- The datamodel
- Query Language
- Pull vs Push
- Alternatives and Workarounds
- A couple more concepts
- Remote Storage
Goutham is a student and a developer from India. His enthusiasm for Ops got him an internship on the infra team of a large company where he worked on Production infrastructure and built the company’s monitoring system on top of Prometheus.
That was his first encounter with production systems and Prometheus, and this summer, he started contributing to Prometheus and interned with CoreOS, working on Prometheus’ new storage engine. He is now a maintainer for Prometheus with a focus on TSDB, the storage engine powering it.