Software Engineering, Architecture, Technology.

Kubernetes Monitoring | Video Guide

Short, simple step-by-step guides on how to monitor Kubernetes platforms.
For Developers & Ops.


Kubernetes monitoring can be a daunting task.
The barrier to entry can be both high and low since Kubernetes does not have an "out-the-box" monitoring solution. Monitoring can be made up of many open source components and there are no clear instructions about how all the pieces fit together.
In this series we'll describe the architecture, all the components you need, how to manage them and piece together all the components that make up a good monitoring solution.


Part 1 : Prometheus Overview

Before we get into too much detail, let's take a high level look at the Prometheus decentralized architecture. We need to understand how Prometheus is fundamentally designed, how it scales and reasoning behind it's implimentation.


Part 2: Introduction to Prometheus Operator

Managing distributed Prometheus instances can be quite complex and tedious. Prometheus has a deep complex configuration which may make it difficult to manage in a distributed manner. This is where the Prometheus Operator comes in. In this hands-on episode, we take a look at how the Prometheus Operator helps us manage multiple instances. We'll deploy an example and take a look at how it works.


Part 3: Monitor Linux machines with Node Exporter

Prometheus has a great component for monitoring Windows and Linux machines called "Node Exporter". Node Exporter provides rich OS level telemetry about all the process on the machine and machines resources. In this hands-on episode, we'll deploy a Prometheus instance using the Operator, and hook up a node exporter with a dashboard. This is my favorite way of monitoring Kubernetes machines since the telemetry is extremely rich and insightfull


Part 4: Kubernetes cluster monitoring for beginners

Now that we have a base Prometheus understanding, let's take a look at how we can use Prometheus to monitor cluster components such as Pods, Deployments, Services and so forth. In this hands-on session we'll deploy a Prometheus instance using the Operator, and we'll deploy the components used to monitor a cluster and cover how all these pieces fit together.


Part 5: Introduction to Alert Manager

Since we have metrics about our cluster, it may be useful to know how Prometheus does alerting. In this hands-on session we'll take a look and deploy Prometheus Alert Manager. It will allow us to define alert rules in a distributed system, and plug these alerts into external messaging systems such as Slack, Microsoft Teams, PagerDuty etc.


Part 6: Application Monitoring: Python

When writing code, it's often useful to produce your own telemetry about your functions. In this hands-on session we'll take a look at how to instrument Python code and have the metrics ingested by a prometheus instance.


Part 7: Application Monitoring: NodeJS

When writing code, it's often useful to produce your own telemetry about your functions. In this hands-on session we'll take a look at how to instrument NodeJS code and have the metrics ingested by a prometheus instance.


Part 8: Application Monitoring: C#

When writing code, it's often useful to produce your own telemetry about your functions. In this hands-on session we'll take a look at how to instrument C# code and have the metrics ingested by a prometheus instance.


Part 9: Kubernetes Monitoring: Where to start?

Now that we have a fundamental understanding of all the monitoring components, what are some of the pitfalls when dealing with Kubernetes Monitoring? In this video I address some key aspects when managing a monitoring platform: * All the monitoring components and their roles
* Kubernetes cluster monitoring
* Infrastructure monitoring
* Application monitoring
* Pitfalls
* Strategies for building, planning, upgrading monitoring solutions