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.
If you haven't already cloned the repo, don't worry. We're gonna be working through the BASH script now. As you can see, I'm already on the main branch. Well, let's go ahead and start up our Prometheus server in three node exporters. What you're going to be seeing is curling down the binaries for the exporters as well as the Prometheus server, altering the YAML configuration, adding some rules and then subsequently starting everything back up again.
Let's go check out the dashboard now. Here's the landing page as you see, it's exactly like the diagram we saw earlier, but what's great is if we want to see if a metric is available for us we can just click the insert metric at cursor drop down menu and select the metric available.
Let's check out something that we all know such as node AARP entries, grabbing the layer two devices for all of our note entries. Awesome, now let's check out the go version that we have here. It looks like all of our nodes are running on 1144 and on the branch head pretty straightforward.
All these metrics are great to sort through but what if we wanted to see all of the raw metrics available on this end point? Well, all we would need to do is navigate to the end URI that we've exposed or defined earlier slash metrics. What you're seeing here are the metrics that Prometheus has exposed for itself by itself to be collected by itself.
I know it's a lot but these are the metrics that Prometheus's scraping and then categorizing and itself. If you wanted to see one of our note exporters' all we would have to do is navigate to the same AAIR on local host, 8082. They look quite similar, but if we scroll down or if we're lazy, just do a Control + Search for node, we can see that this is indeed a node exporter.
Navigating back to the dashboard, you'll notice that we can also add a graph for multiple graphic representations of data creating a whole dashboard if we wanted to. Let's check out a metric now. And if we just click on graph we get a graphical representation of this data. The same applies for any metric that we choose so if we wanted to choose a different metric with maybe a more striking appearance, we could do so now.
That does it for the example for this course I hope you enjoyed a quick tour through Prometheus UI and as well as how to check out some raw metrics. If you'd like to do more, feel free to clone the repository and run the bash script called it letsgo.bash. It'll get your environment set up for you have several note exporters all on your local host so you can get better at practicing expressions and get more familiar with the Prometheus UI.
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.