hands-on labIntroduction to CloudWatch
1h 30m
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Lab steps
Logging In to the Amazon Web Services Console
Explore CloudWatch
Monitoring EC2 Instances
Install the EC2 Monitoring Scripts
Creating Your First CloudWatch Alarm
Create an Alarm using the EC2 console
Sharing CloudWatch Metrics with others
Lab description

In this Lab, you will explore CloudWatch, a monitoring service provided by AWS. CloudWatch makes it possible to monitor nearly anything inside or outside AWS. Common usage is to monitor EC2 instances for CPU and memory utilization, ephemeral or EBS volume disk usage and throughput, as well as network statistics. CloudWatch also enables you to configure alarms, so that when thresholds are violated for specific metrics a notification and/or action is automatically triggered.


Although this is a beginner level Lab, you should be familiar with:

  • Using the AWS Console
  • EC2 basics
  • Conceptual understanding of the type of metrics typically monitored (such as CPU, storage, and network resources)

Learning Objectives

Upon completion of this Lab, you will be able to:

  • Explain key CloudWatch concepts and default EC2 metrics
  • Create and test an alarm
  • Add actions to an alarm
  • Install monitoring tools as EC2 User Data to send custom metrics to CloudWatch
  • Navigate about in CloudWatch and explore many other possibilities for monitoring AWS resources

Lab Environment

Before completing the Lab instructions, the environment will look as follows:




After completing the Lab instructions, the environment should look similar to:




Do you have questions about this Lab? Contact our cloud experts by sending an email to


March 19th, 2023 - Updated instructions to reflect the latest UI

June 2nd, 2022 - Updated the instructions and screenshots to reflect the new launch instance wizard

March 1st, 2022 - Added information regarding detailed monitoring

January 14th, 2022 - Updated the instructions and screenshots to reflect the latest UI

September 6th, 2021 - Explained more about the default alarm configuration for status check alarms on EC2 instances

August 30th, 2021 - Clarified that any metric can be viewed in step two

February 7th, 2021 - Made some improvements to increase the reliability of the lab

October 7th, 2019 - Updated instructions to create the CloudWatch alarms

August 19th, 2019 - Updated some Lab Steps to reflect new AWS visuals

May 30th, 2019 - Clarified the possibility that the alarm triggers before the SNS topic is subscribed to resulting in not receiving the first alarm email. Added a workaround to retrigger the alarm in that case.

April 24th, 2019 - Fixed an issue that caused the HighCPUInstance not to consume 100% CPU

November 27th, 2018 - Added a validation Lab Step to check the work you perform in the Lab

September 14th, 2018 - Updated the Lab to reduce the amount of waiting (detailed CloudWatch monitoring, higher frequency metric script) and modified instructions to reliably receive an email notification for the second alarm.

July 9th, 2018 - Updated CloudWatch monitoring commands to work with Amazon Linux and Amazon Linux 2. The instructions now use Amazon Linux 2.

May 16th, 2018 - Updated several CloudWatch console images and details related to sharing CloudWatch metric graphs

About the author
Stefano Cascavilla
Junior Data Engineer
Learning Paths

Stefano studies Computer Science and is passionate about technology. He loves working with Cloud services and learning all the best practices for them. Google Cloud Platform and Amazon Web Services are the cloud providers he prefers. He is a Google Cloud Certified Associate Cloud Engineer. Node.js is the programming language he always uses to code. When he's not involved in studying or working, Stefano loves riding his motorbike and exploring new places.

Covered topics