Introduction to Observability
When developing applications for Kubernetes, a distributed system, Developers and Platform Engineers need to know how to monitor these applications and know how their services impact their business. This course walks through several options for getting observability into your applications and systems, including short demonstrations of how these systems work in a Kubernetes cluster.
Intro: What is Observability?
Traditionally, observability was defined by three pillars: metrics, aggregated logs, and service tracing. Unfortunately those tools alone will not give you full observability into your applications in a distributed system. In this lesson, we'll go through an introduction to modern observability.
Logging in Kubernetes
In this lesson, you will learn about logging in a Kubernetes cluster. What kind of data should I collect? What tools are available? How are applications expected to emit log data in a Kubernetes cluster?
Demo: Logs with EFK
In this lesson, we'll walk through a complete logging stack running on Kubernetes cluster so you can see what kinds of data we can collect and visualize.
Metric Collection with Prometheus
In this lesson we will learn about Prometheus and how it collects metrics about your Kubernetes cluster and applications.
Demo: Prometheus & Grafana
In this lesson we will show you how to deploy a simple Prometheus stack on a Kubernetes cluster using the Prometheus Operator, and show you how to visualize your metrics using Grafana.
In this lesson we will go through OpenTracing and learn how traces, spans, and tags can be used to get data about how requests flow through your application.
Demo: OpenTracing with CNCF Jaeger
In this demonstration, we will use the Jaeger Operator to deploy Jaeger components, as well as a sample application to show a distributed trace in action running on a Kubernetes cluster.
Review: What did we learn here?
In this lesson, we'll review the key points we addressed throughout the course.