Prometheus Alerting and Monitoring
4.3 (97 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
664 students enrolled

Prometheus Alerting and Monitoring

Learn and Build Your First Prometheus Alerting and Monitoring System for Your Infrastructure Today
4.3 (97 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
664 students enrolled
Created by Sean Bradley
Last updated 7/2020
English
Current price: $12.99 Original price: $99.99 Discount: 87% off
30-Day Money-Back Guarantee
This course includes
  • 1.5 hours on-demand video
  • 2 Practice Tests
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • We begin to learn Prometheus, and we see it working
  • Build a bare bones Prometheus server from scratch, in the cloud and on your own Ubuntu 18
  • Learn how to set it up as a service so that it is always running in the background
  • Configure it to be behind a Nginx Reverse Proxy
  • Configure a domain name and add SSL to ensure transport layer encryption for the user interface
  • Add Basic Authentication to restrict user access
  • Install several Node-Exporters, local and external, manage there firewall rules and compare the differences
  • Learn the basics of querying metrics from simple metrics, instant vectors, range vectors, functions, aggregates and sub queries
  • Create custom metrics from complicated queries and save them as Recording Rules
  • Create Alerting Rules and demonstrate Inactive, Pending and Firing states
Requirements
  • Basic Linux Experience
  • All commands entered during the lectures are provided in the corresponding resources
  • You have the choice of using dedicated hardware, cloud or locally hosted VMs. In this course, I predominantly use an unrestricted fresh install of Ubuntu 18 in the cloud.
Description

We learn the basics of Prometheus so that you can get started as soon as possible, and to follow the exercises, try them out for yourself and you can see it working.

In this course we will quickly build a bare bones Prometheus server from scratch, in the cloud and on your own Ubuntu 18.

We will keep it simple and set it up on a default, unrestricted, un-customised Ubuntu 18 server. You will then be able to match what you see in the videos and copy/paste directly from my documentation and see the same result. Once you have the basic experience of seeing Prometheus work, you will be able to problem solve in a more directed manner, and apply your knowledge to other operating systems in the future.

At the end of the course, you will have a basic Prometheus setup, which will be in the cloud, behind a reverse proxy, with SSL, a domain name, Basic Authentication, with several custom recording rules, several alerting rules, several node exporters local and external, with alert manager using a send only SMTP server.

Over time, as students request, there will be bonus lectures added, after the main part of the course, showing the more popular specific use cases of Prometheus.

Who this course is for:
  • Network and Systems Administrators
  • Infrastructure Monitoring Specialists
  • IT Platform Specialists
  • DevOps Technicians
  • Enthusiasts wanting a better understanding and better visibility of their IT infrastructure in the home or office
  • Someone who is curious and wants a better understanding of what Prometheus is and what Prometheus is good at
Course content
Expand 15 lectures 01:14:48
+ Introduction
15 lectures 01:14:48

We will install the latest version of Prometheus on our server.

You can find the latest version of the Prometheus binary at https://prometheus.io/download/

After downloading, and before we run it, we should verify it's SHA256 Checksum.

If all is ok, then we can untar the gz archive.

We start it.

Prometheus should now be running.

You can visit it at http://[your ip address]:9090

Preview 03:13

We have download Prometheus as a binary and started it. But if we close our SSH session, the Prometheus server will stop. So we set it up to run as a service, so that it is always running in the background.

Preview 01:48

Random Order Questions on Prometheus

Prometheus Questions
6 questions

One option to help secure our Prometheus server is to put it behind a reverse proxy so that we can later add SSL and an Authentication layer over the default unrestricted Prometheus web interface.

Reverse Proxy Prometheus with Nginx
02:00

We will now add transport encryption to the Prometheus web user interface.

Add SSL to Prometheus Reverse Proxy
06:10

Everything is great so far, but anybody in the world with the internet access and the URL can visit my Prometheus server and see my data.

To solve this problem, we will add user authentication.

Add Basic Authentication to the Prometheus User Interface
01:59

We quickly browse through the default Prometheus User Interface and look at it's features before we continue.

Prometheus User Inteface Introduction
07:52

Random Order Prometheus Questions

Prometheus Questions
5 questions

Now we will install the Prometheus Node Exporter on our existing server and configure it as a Service so that it keeps running in the background.

Install Prometheus Node Exporter and Start as a Service
06:51

Now that we have at least 2 scape targets, we can begin to run some more interesting queries that involve multiple scrape targets.

We will try basic time series queries, queries with regular expressions, compare the Instant and Range Vector data types, use Functions, Aggregates and Sub Queries.

Example Queries
06:56

All the steps in this lecture are the same as the earlier lecture where we installed the node-exporter as a service, but this time we also create a specific firewall rule to only allow my main Prometheus server to access the metrics data.

Install an External Node Exporter
05:28
Prometheus Questions
7 questions

We create some Recording rules, for the more complicated common queries we may want to create time series data for.

Preview 06:36

Alerting rules are created in Prometheus very similar to how we created recording rules. We can use the same prometheus_rules.yml or, if you wish, create a different file but remember to add the reference to it in the rule_files section in prometheus.yml.

Alerting Rules
07:53

The Prometheus Alert manager is a dedicated process that will receive alert notifications from Prometheus, and send them via the configured receivers.
In this lecture, we install the Alert Manger, run it as a service, and serve it behind the existing reverse proxy so that the UI can also be accessed via domain name,  SSL and Basic Authentication.

Install the Prometheus Alert Manager
07:03

We will configure the alert manager to use a local SMTP server for sending email alerts.

In this lecture, we create a very quick and simple local SMTP server which can only send emails from localhost.

Install a Send Only SMTP Server for the Prometheus Alert Manager
03:02

We now configure the Prometheus and Alert Manager processes to communicate with each other, and to send alerts when the alerting rules fire.

Configure Alert Manager and Promethues to Send Email Alerts
06:37

Thanks for taking part in my course.

We have achieved a lot in a small amount of time and you now know if you want to take Prometheus further.

We have built our dedicated Prometheus server, with multiple node exporters, with custom recording rules, alerting rules, behind a reverse proxy, with SSL and Basic Authentication. We also know how to create our own specialised queries and we know how to set up the alerting manager to at minimum send emails via SMTP.

If you decide to continue with Prometheus, then a good source of possibilities for your future direction is this Default Port Allocations page, as it show all the hundreds of exporters in development for Prometheus today.

https://github.com/prometheus/prometheus/wiki/Default-port-allocations

If you have any further questions then ask them in the QA section under the most relevant video. I will try to answer them, maybe adjust the course content, or add it to my medium and advanced Prometheus courses.


Finishing Up and Next Steps
01:20