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
About the author
![Avatar](https://assets.cloudacademy.com/bakery/media/uploads/instructors/JProfile1.png)
Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.
He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.
Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS), GitHub.