Amazon EKS - Observability with Prometheus and Grafana
Description
When it comes to running and operating production-grade EKS managed Kubernetes clusters, monitoring and alerting are considered essential components of an enterprise Kubernetes observability stack.
In this hands-on lab, you'll learn how to set up and use the following essential monitoring applications:
You'll learn how to integrate these monitoring applications together into an effective and cohesive monitoring solution.
Learning Objectives
Upon completion of this Lab, you will be able to:
- Deploy and instrument a sample Python Flask web-based API into Kubernetes, instrumented to provide metrics which will be collected by Prometheus and displayed within Grafana
- Install and configure Prometheus into Kubernetes using Helm
- Setup Prometheus for service discovery
- Install and configure Grafana into Kubernetes using Helm
- Import pre-built Grafana dashboards for real-time visualisations
Intended Audience
This lab is intended for:
- Kubernetes practitioners
- DevOps Engineers
- SREs
Lab Prerequisites
You should be familiar with:
- Basic Linux command line administration
- Basic Kubernetes and Container-based concepts
Lab Environment
This Lab will start with the following AWS resources provisioned automatically for you:
- 1 x EKS cluster - Cluster-1 - provides a fully functional Kubernetes cluster
- 1 x NodeGroup
- 2 x EC2 Worker Nodes
- 1 x NodeGroup
- 2 x EC2 instances
- eks.launch.instance - used to launch the EKS cluster
- cloudacademylabs - used to provide an SSH based terminal
Updates
April 15th, 2024 - Resolved Prometheus deployment issue
December 5th, 2023 - Updated Kubernetes version
August 7th, 2023 - Fixed YAML file configuration and updated Grafana UI
April 14th, 2023 - Resolved Prometheus pod error
February 28th, 2023 - Updated to Kubernetes 1.24
January 9th, 2023 - Resolved a Prometheus deployment error and updated the lab instructions and screenshots to reflect the latest UI