Introduction to Prometheus
In this course, we take a look at the Tsar of monitoring tools - Prometheus. Prometheus is the second hosted project in the Cloud Native Computing Foundation, right next to the container orchestrating software - Kubernetes. Prometheus is an open-sourced systems monitoring and alerting toolkit with additional capabilities in service discovery.
If you have any feedback relating to this course, feel free to contact us at firstname.lastname@example.org.
- Understand and define the Prometheus monitoring tool
- Learn the core features of the tool
- Breakdown and understand the core components of the service
- Learn how to set up node exporters and a Prometheus monitor
- DevOps engineers, site reliability engineers, and cloud engineers
- Anyone looking to up their monitoring expertise with an open-source monitoring tool
To get the most out of this course, you should have some familiarity with monitoring tools. Experience using a Terminal, Git, Bash, or Shell would be beneficial but not essential.
When we talk about Prometheus, we're not talking about the god of fire, or the 2012 prequel to "Aliens". What we are talking about is the open-source, metrics-based monitoring system written in Go, and developed at SoundCloud in 2012. Coincidence with the movie? I don't know. But since then, Prometheus has joined the Cloud Native Computing Foundation and is maintained by volunteers.
Now that's an extremely basic history of Prometheus. So let's start talking about the engineered parts, with an extremely high level overview. So Prometheus was written mostly in Go, as static binaries, meaning they can be decoupled from Prometheus, and ran on their own, to serve your own needs, should you choose to. It's open-source, it's classified as a monitoring solution, and it's the second hosted Cloud Native Computing Foundation project, only losing the first seed to Kubernetes.
Its main goal has always been aimed to do one thing, and do it well. Specifically, short-term monitoring. It has a multidimensional data with time series, identified by this metrics name with key value pairs. And it primarily pulls metrics from an end point. I say primarily, as there is a push gateway involved during some deployments.
It has a strong suite in machine-centric monitoring with an even stronger suite in dynamic service-oriented architectures, or for the lay person, microservices. It's designed for reliability. So it can be standalone and independent of the larger architecture, running on its own, decoupled from everything else.
Now that we know what is Prometheus, let's talk about what it isn't. First, Prometheus isn't a long-term metric storage solution. It's ideal to keep metrics up to six months or however long you wish, but it's not meant to hold your metrics indefinitely. Second, it doesn't have 100% accuracy in its metrics. It's not meant for deep detailed metrics as it is really good at summarizing metrics available for a quick digest. And lastly, it's not a push-oriented metric system. Prometheus' main strength is pulling metrics.
That does it for defining Prometheus, so let's jump over to the features overview, where we're gonna talk about the core features with a core-set focus on why you would want to use Prometheus in your environment.
Jonathan Lewey is a DevOps Content Creator at Cloud Academy. With experience in the Networking and Operations of the traditional Information Technology industry, he has also lead the creation of applications for corporate integrations, and served as a Cloud Engineer supporting developer teams. Jonathan has a number of specialities including: a Cisco Certified Network Associate (R&S / Sec), an AWS Developer Associate, an AWS Solutions Architect, and is certified in Project Management.