{"id":2273,"date":"2026-04-27T10:10:29","date_gmt":"2026-04-27T10:10:29","guid":{"rendered":"https:\/\/sreschool.com\/blog\/?p=2273"},"modified":"2026-04-27T10:10:30","modified_gmt":"2026-04-27T10:10:30","slug":"aws-cloudwatch-console-only-lab-guide","status":"publish","type":"post","link":"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/","title":{"rendered":"AWS CloudWatch Console-Only Lab Guide"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>This lab is designed for students who have <strong>AWS Console access only<\/strong>. No AWS CLI, no SDK, no terminal, no kubectl, no external tools, and no code changes are required.<\/p>\n\n\n\n<p>The goal is to let students experience CloudWatch in this learning flow:<\/p>\n\n\n\n<p><strong>Collect \/ discover telemetry \u2192 Explore and analyze \u2192 Create alarm \u2192 Build a basic dashboard<\/strong><\/p>\n\n\n\n<p>CloudWatch is AWS\u2019s observability service for metrics, logs, alarms, dashboards, application monitoring, infrastructure monitoring, network monitoring, and cross-account visibility. AWS documentation describes CloudWatch as covering metrics, logs, application performance monitoring, infrastructure monitoring, network monitoring, and dashboards. (<a href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/monitoring\/CloudWatch-tutorials.html?utm_source=chatgpt.com\">AWS Documentation<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 1: Explain the CloudWatch Left-Side Menu from the Screenshot<\/h1>\n\n\n\n<p>Before starting the lab, explain the left navigation panel to students. This helps them understand what each CloudWatch area is used for.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Ingestion<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Dashboards<\/h3>\n\n\n\n<p>This is where users create visual dashboards for metrics and operational views.<\/p>\n\n\n\n<p>Students will use this later to build a simple dashboard with EC2, RDS, and EKS-related metrics. CloudWatch dashboards are meant to provide a common view of critical resource and application measurements. (<a href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/monitoring\/CloudWatch_Dashboards.html?utm_source=chatgpt.com\">AWS Documentation<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Alarms<\/h3>\n\n\n\n<p>Alarms watch CloudWatch metrics and notify users when a threshold is crossed.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>EC2 CPU utilization is greater than 80% for 5 minutes.<\/p>\n<\/blockquote>\n\n\n\n<p>Students will create a basic metric alarm later in the lab.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">2. AI Operations<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Overview<\/h3>\n\n\n\n<p>This section is for AI-assisted operations and incident investigation experiences in CloudWatch. It helps teams understand operational issues faster when supported telemetry exists.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Investigations<\/h3>\n\n\n\n<p>Used for guided investigation of operational problems. This is useful in mature environments but not required for a beginner lab.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configuration<\/h3>\n\n\n\n<p>Used to configure AI operations features. For this basic lab, students should only observe this section, not configure it.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">3. GenAI Observability<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Model Invocations<\/h3>\n\n\n\n<p>Used for observing generative AI model usage, such as Amazon Bedrock-related telemetry, where configured.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Bedrock AgentCore<\/h3>\n\n\n\n<p>Used for observability around Bedrock AgentCore workloads. This is not needed unless the AWS account is running Bedrock agent workloads.<\/p>\n\n\n\n<p>For this lab, students should only understand that this section is for GenAI-related observability, not general EC2\/RDS\/EKS monitoring.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">4. Application Signals \/ APM<\/h2>\n\n\n\n<p>This section focuses on application performance monitoring.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Services<\/h3>\n\n\n\n<p>Shows discovered services and service health when Application Signals is configured.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Application Map<\/h3>\n\n\n\n<p>Shows the relationship between application services and dependencies.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Transaction Search<\/h3>\n\n\n\n<p>Helps search and analyze application transactions if transaction telemetry is available.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Service Level Objectives \/ SLO<\/h3>\n\n\n\n<p>Used to define reliability goals such as:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>99.9% of requests should complete successfully.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Synthetics Canaries<\/h3>\n\n\n\n<p>Used to simulate user journeys, such as checking whether a login page or API endpoint is working.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">RUM<\/h3>\n\n\n\n<p>Real User Monitoring captures browser-side performance and user experience data from actual users.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Traces<\/h3>\n\n\n\n<p>Used to inspect distributed traces across application services.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Trace Map<\/h3>\n\n\n\n<p>Shows service relationships based on trace data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Application Insights<\/h3>\n\n\n\n<p>Helps monitor applications and detect problems based on configured resources.<\/p>\n\n\n\n<p>For a beginner lab, students should mainly <strong>observe<\/strong> this section unless Application Signals, Synthetics, RUM, or traces are already configured. AWS documents CloudWatch APM areas including Application Signals, SLOs, Transaction Search, Synthetics, and RUM. (<a href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/monitoring\/CloudWatch-Application-Monitoring-Intro.html?utm_source=chatgpt.com\">AWS Documentation<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">5. Infrastructure Monitoring<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Container Insights<\/h3>\n\n\n\n<p>Used for ECS, EKS, and Kubernetes container monitoring. It can show cluster, node, pod, and container-level metrics when enabled.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Database Insights<\/h3>\n\n\n\n<p>Used for RDS and Aurora database performance monitoring.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Lambda Insights<\/h3>\n\n\n\n<p>Used for Lambda function monitoring.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">EC2 Resource Health<\/h3>\n\n\n\n<p>Used to understand EC2 resource-level health.<\/p>\n\n\n\n<p>This section is highly relevant for your students because the account has services such as <strong>EC2, RDS, and EKS<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">6. Logs<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Log Management<\/h3>\n\n\n\n<p>Used to view and manage CloudWatch log groups.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Log Analytics<\/h3>\n\n\n\n<p>A newer analytics experience for logs. In the screenshot it is marked as Preview.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Log Anomalies<\/h3>\n\n\n\n<p>Helps detect unusual patterns in logs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Live Tail<\/h3>\n\n\n\n<p>Lets users watch logs as they are arriving.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Logs Insights<\/h3>\n\n\n\n<p>Lets users query log data using CloudWatch Logs Insights query language. Logs Insights is useful for finding errors, counting events, and analyzing application activity. (<a href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/logs\/AnalyzingLogData.html?utm_source=chatgpt.com\">AWS Documentation<\/a>)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Contributor Insights<\/h3>\n\n\n\n<p>Helps identify top contributors to operational behavior, such as top IP addresses, error sources, or request patterns.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">7. Metrics<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">All Metrics<\/h3>\n\n\n\n<p>The main place to view AWS service metrics.<\/p>\n\n\n\n<p>Examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>EC2 CPU utilization<\/li>\n\n\n\n<li>RDS CPU utilization<\/li>\n\n\n\n<li>RDS database connections<\/li>\n\n\n\n<li>EKS-related metrics if enabled<\/li>\n\n\n\n<li>Load balancer request count<\/li>\n\n\n\n<li>Lambda errors<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Explorer<\/h3>\n\n\n\n<p>A higher-level way to explore metrics by resource tags and properties.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Streams<\/h3>\n\n\n\n<p>Used to stream CloudWatch metrics to another destination. This is more advanced and not needed for this lab.<\/p>\n\n\n\n<p>CloudWatch metrics are time-series data, and CloudWatch supports graphing metrics, Metrics Insights, anomaly detection, metric math, and OpenTelemetry metrics. (<a href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/monitoring\/working_with_metrics.html?utm_source=chatgpt.com\">AWS Documentation<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">8. Network Monitoring<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Flow Monitors<\/h3>\n\n\n\n<p>Used for monitoring network flows where supported.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Internet Monitors<\/h3>\n\n\n\n<p>Used for monitoring internet-facing application performance and availability.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Synthetic Monitors<\/h3>\n\n\n\n<p>Used for simulated monitoring of endpoints or user journeys.<\/p>\n\n\n\n<p>For this beginner lab, students can observe this section but do not need to configure it.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">9. Setup<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Getting Started<\/h3>\n\n\n\n<p>A guided starting point for CloudWatch.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What\u2019s New<\/h3>\n\n\n\n<p>Shows recent CloudWatch updates.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Settings<\/h3>\n\n\n\n<p>Used for account-level CloudWatch settings.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 2: Lab Assumptions and Rules<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Lab Conditions<\/h2>\n\n\n\n<p>The students have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>AWS Console access only<\/li>\n\n\n\n<li>New AWS accounts<\/li>\n\n\n\n<li>Existing services such as EC2, RDS, EKS<\/li>\n\n\n\n<li>No CLI access<\/li>\n\n\n\n<li>No terminal access<\/li>\n\n\n\n<li>No kubectl access<\/li>\n\n\n\n<li>No application code access<\/li>\n\n\n\n<li>No external observability tool access<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Important Instructor Note<\/h2>\n\n\n\n<p>Because students have console-only access, they can observe a lot of AWS service metrics immediately, but some telemetry requires prior setup.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Telemetry Type<\/th><th>Can Students See It with Console Only?<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>EC2 CPU\/network metrics<\/td><td>Yes<\/td><td>Available from AWS service metrics<\/td><\/tr><tr><td>EC2 memory\/disk metrics<\/td><td>Only if CloudWatch Agent is already installed<\/td><td>Cannot install agent without instance-level access<\/td><\/tr><tr><td>RDS CPU\/storage\/connections<\/td><td>Yes<\/td><td>Available from AWS service metrics<\/td><\/tr><tr><td>RDS database logs<\/td><td>Only if log exports are enabled<\/td><td>Can sometimes be enabled from RDS console<\/td><\/tr><tr><td>EKS cluster metrics<\/td><td>Partially<\/td><td>More useful if Container Insights is enabled<\/td><\/tr><tr><td>EKS pod\/container metrics<\/td><td>Only if Container Insights is enabled<\/td><td>Otherwise limited visibility<\/td><\/tr><tr><td>Lambda logs<\/td><td>Yes, if Lambda functions exist<\/td><td>Lambda automatically sends logs to CloudWatch Logs<\/td><\/tr><tr><td>Application traces<\/td><td>Only if tracing\/Application Signals is configured<\/td><td>Not available by default<\/td><\/tr><tr><td>RUM data<\/td><td>Only if RUM is configured in application<\/td><td>Not available by default<\/td><\/tr><tr><td>Synthetics data<\/td><td>Only if canaries exist<\/td><td>Creating canaries may create cost<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>For this lab, the safest beginner path is:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Use already available AWS service metrics first, then explore logs if they exist, then create one basic alarm, then create one basic dashboard.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 3: Lab Learning Objectives<\/h1>\n\n\n\n<p>By the end of this lab, students should be able to:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate the CloudWatch console.<\/li>\n\n\n\n<li>Understand the difference between metrics, logs, alarms, dashboards, and insights.<\/li>\n\n\n\n<li>Locate EC2, RDS, and EKS-related telemetry.<\/li>\n\n\n\n<li>Explore CloudWatch metrics.<\/li>\n\n\n\n<li>Explore CloudWatch log groups.<\/li>\n\n\n\n<li>Run basic Logs Insights queries if logs exist.<\/li>\n\n\n\n<li>Create a simple CloudWatch alarm.<\/li>\n\n\n\n<li>Create a basic CloudWatch dashboard.<\/li>\n\n\n\n<li>Understand CloudWatch limitations when only console access is available.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 4: Recommended Lab Flow<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Lab Flow Summary<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Stage<\/th><th>Activity<\/th><th>Outcome<\/th><\/tr><\/thead><tbody><tr><td>1<\/td><td>Open CloudWatch and explore navigation<\/td><td>Students understand the CloudWatch UX<\/td><\/tr><tr><td>2<\/td><td>Discover available metrics<\/td><td>Students find EC2, RDS, and EKS metrics<\/td><\/tr><tr><td>3<\/td><td>Explore automatic dashboards<\/td><td>Students understand built-in AWS views<\/td><\/tr><tr><td>4<\/td><td>Explore logs<\/td><td>Students identify log groups and log streams<\/td><\/tr><tr><td>5<\/td><td>Analyze logs with Logs Insights<\/td><td>Students run simple queries<\/td><\/tr><tr><td>6<\/td><td>Explore Infrastructure Monitoring<\/td><td>Students check EC2, RDS, EKS views<\/td><\/tr><tr><td>7<\/td><td>Create a basic alarm<\/td><td>Students configure alerting<\/td><\/tr><tr><td>8<\/td><td>Create a basic dashboard<\/td><td>Students build a simple observability view<\/td><\/tr><tr><td>9<\/td><td>Review limitations<\/td><td>Students understand what requires deeper setup<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 5: Step-by-Step Lab Guide<\/h1>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 1: Open CloudWatch and Understand the Console<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Become familiar with the CloudWatch console layout.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sign in to the AWS Console.<\/li>\n\n\n\n<li>In the top search bar, search for <strong>CloudWatch<\/strong>.<\/li>\n\n\n\n<li>Open <strong>CloudWatch<\/strong>.<\/li>\n\n\n\n<li>Look at the left-side navigation panel.<\/li>\n\n\n\n<li>Identify these sections:\n<ul class=\"wp-block-list\">\n<li>Dashboards<\/li>\n\n\n\n<li>Alarms<\/li>\n\n\n\n<li>Application Signals \/ APM<\/li>\n\n\n\n<li>Infrastructure Monitoring<\/li>\n\n\n\n<li>Logs<\/li>\n\n\n\n<li>Metrics<\/li>\n\n\n\n<li>Network Monitoring<\/li>\n\n\n\n<li>Setup<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Student Observation<\/h2>\n\n\n\n<p>Ask students:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Which CloudWatch section would you use for metrics?<\/li>\n\n\n\n<li>Which section would you use for logs?<\/li>\n\n\n\n<li>Which section would you use to create alerts?<\/li>\n\n\n\n<li>Which section would you use to create a visual monitoring page?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Expected Answer<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Requirement<\/th><th>CloudWatch Section<\/th><\/tr><\/thead><tbody><tr><td>View CPU, memory, database metrics<\/td><td>Metrics<\/td><\/tr><tr><td>View log groups and log events<\/td><td>Logs<\/td><\/tr><tr><td>Create notifications on problems<\/td><td>Alarms<\/td><\/tr><tr><td>Build visual pages<\/td><td>Dashboards<\/td><\/tr><tr><td>View EKS\/container health<\/td><td>Infrastructure Monitoring \u2192 Container Insights<\/td><\/tr><tr><td>View RDS database performance<\/td><td>Infrastructure Monitoring \u2192 Database Insights<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 2: Explore Automatic CloudWatch Dashboards<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Let students see what CloudWatch already provides without creating anything.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Dashboards<\/strong>.<\/li>\n\n\n\n<li>Look for any existing dashboards.<\/li>\n\n\n\n<li>If no custom dashboards exist, return to the CloudWatch home or overview area.<\/li>\n\n\n\n<li>Look for automatic AWS service views or widgets.<\/li>\n\n\n\n<li>Ask students to identify visible AWS services, such as:\n<ul class=\"wp-block-list\">\n<li>EC2<\/li>\n\n\n\n<li>RDS<\/li>\n\n\n\n<li>EKS<\/li>\n\n\n\n<li>Lambda<\/li>\n\n\n\n<li>Load Balancers<\/li>\n\n\n\n<li>SQS<\/li>\n\n\n\n<li>DynamoDB<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">What to Explain<\/h2>\n\n\n\n<p>CloudWatch can show automatic dashboards and service-level views based on AWS resources in the account. These are useful for initial exploration because they require little or no setup. AWS recommends using automatic dashboards to get started with service-level monitoring. (<a href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/monitoring\/GettingStarted.html?utm_source=chatgpt.com\">AWS Documentation<\/a>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Student Task<\/h2>\n\n\n\n<p>Ask students to write down:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Which AWS services are visible?<\/li>\n\n\n\n<li>Which services have metrics?<\/li>\n\n\n\n<li>Which services show no data?<\/li>\n\n\n\n<li>Which region are they viewing?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Important Teaching Point<\/h2>\n\n\n\n<p>CloudWatch data is <strong>regional<\/strong>. If students do not see metrics, they may be in the wrong AWS Region.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 3: Explore EC2 Metrics<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Find and graph EC2 metrics using only the console.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In the CloudWatch left menu, go to <strong>Metrics<\/strong>.<\/li>\n\n\n\n<li>Click <strong>All metrics<\/strong>.<\/li>\n\n\n\n<li>Look for <strong>EC2<\/strong>.<\/li>\n\n\n\n<li>Open EC2 metrics.<\/li>\n\n\n\n<li>Choose a metric category such as:\n<ul class=\"wp-block-list\">\n<li>Per-Instance Metrics<\/li>\n\n\n\n<li>InstanceId<\/li>\n\n\n\n<li>Auto Scaling Group metrics, if available<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Select an EC2 instance.<\/li>\n\n\n\n<li>Select <strong>CPUUtilization<\/strong>.<\/li>\n\n\n\n<li>View the graph.<\/li>\n\n\n\n<li>Change the time range:\n<ul class=\"wp-block-list\">\n<li>1 hour<\/li>\n\n\n\n<li>3 hours<\/li>\n\n\n\n<li>12 hours<\/li>\n\n\n\n<li>1 day<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Change the statistic:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Average<\/li>\n\n\n\n<li>Maximum<\/li>\n\n\n\n<li>Minimum<\/li>\n<\/ul>\n\n\n\n<ol start=\"11\" class=\"wp-block-list\">\n<li>Change the period:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1 minute<\/li>\n\n\n\n<li>5 minutes<\/li>\n\n\n\n<li>15 minutes<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Student Observation<\/h2>\n\n\n\n<p>Ask students:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Which EC2 instance has the highest CPU?<\/li>\n\n\n\n<li>Does the metric show spikes?<\/li>\n\n\n\n<li>Does CPU look stable?<\/li>\n\n\n\n<li>What changes when the time range changes?<\/li>\n\n\n\n<li>What changes when the statistic changes from Average to Maximum?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>EC2 metrics such as CPU and network are available by default, but <strong>memory and disk usage usually require the CloudWatch Agent<\/strong>. With console-only access, students may not be able to collect memory and disk metrics unless the agent is already installed.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 4: Explore RDS Metrics<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Find RDS database metrics and understand database health.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Metrics<\/strong>.<\/li>\n\n\n\n<li>Click <strong>All metrics<\/strong>.<\/li>\n\n\n\n<li>Search for or choose <strong>RDS<\/strong>.<\/li>\n\n\n\n<li>Select database-level metrics.<\/li>\n\n\n\n<li>Choose an RDS database instance.<\/li>\n\n\n\n<li>Select these metrics if available:\n<ul class=\"wp-block-list\">\n<li>CPUUtilization<\/li>\n\n\n\n<li>DatabaseConnections<\/li>\n\n\n\n<li>FreeStorageSpace<\/li>\n\n\n\n<li>FreeableMemory<\/li>\n\n\n\n<li>ReadIOPS<\/li>\n\n\n\n<li>WriteIOPS<\/li>\n\n\n\n<li>ReadLatency<\/li>\n\n\n\n<li>WriteLatency<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Graph at least three metrics.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Student Observation<\/h2>\n\n\n\n<p>Ask students:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Is the database busy?<\/li>\n\n\n\n<li>Are connections increasing?<\/li>\n\n\n\n<li>Is free storage decreasing?<\/li>\n\n\n\n<li>Is CPU stable or spiking?<\/li>\n\n\n\n<li>Is read\/write latency high?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>RDS metrics help identify whether a database may be a bottleneck. For example:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Symptom<\/th><th>Possible Meaning<\/th><\/tr><\/thead><tbody><tr><td>High CPU<\/td><td>Heavy queries or insufficient instance size<\/td><\/tr><tr><td>High connections<\/td><td>Connection pooling issue or traffic increase<\/td><\/tr><tr><td>Low free storage<\/td><td>Storage capacity risk<\/td><\/tr><tr><td>High latency<\/td><td>Disk, query, or load issue<\/td><\/tr><tr><td>High IOPS<\/td><td>Heavy read\/write workload<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 5: Explore EKS and Container Metrics<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Introduce students to container observability.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Infrastructure Monitoring<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Container Insights<\/strong>.<\/li>\n\n\n\n<li>Check whether EKS clusters are visible.<\/li>\n\n\n\n<li>If clusters are visible, explore:\n<ul class=\"wp-block-list\">\n<li>Cluster view<\/li>\n\n\n\n<li>Node view<\/li>\n\n\n\n<li>Pod view<\/li>\n\n\n\n<li>Service view<\/li>\n\n\n\n<li>Namespace view<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Look for metrics such as:\n<ul class=\"wp-block-list\">\n<li>CPU utilization<\/li>\n\n\n\n<li>Memory utilization<\/li>\n\n\n\n<li>Pod count<\/li>\n\n\n\n<li>Container restarts<\/li>\n\n\n\n<li>Node health<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">If No Data Appears<\/h2>\n\n\n\n<p>Explain:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Container-level visibility usually requires Container Insights to be enabled. If it is not enabled, students may only see limited EKS-related metrics.<\/p>\n<\/blockquote>\n\n\n\n<p>Do not ask students to use kubectl or CLI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Optional Console-Only Instructor Activity<\/h2>\n\n\n\n<p>If permissions allow and the instructor wants students to enable more EKS telemetry:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to the <strong>EKS console<\/strong>.<\/li>\n\n\n\n<li>Open the EKS cluster.<\/li>\n\n\n\n<li>Look for observability, logging, or add-on options.<\/li>\n\n\n\n<li>Enable available CloudWatch or Container Insights options only if approved by the instructor.<\/li>\n\n\n\n<li>Return to CloudWatch \u2192 Infrastructure Monitoring \u2192 Container Insights.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>EKS has multiple telemetry layers:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Layer<\/th><th>Example Telemetry<\/th><\/tr><\/thead><tbody><tr><td>Cluster<\/td><td>Cluster health, API server activity<\/td><\/tr><tr><td>Node<\/td><td>CPU, memory, disk, network<\/td><\/tr><tr><td>Pod<\/td><td>CPU, memory, restart count<\/td><\/tr><tr><td>Container<\/td><td>Resource usage and logs<\/td><\/tr><tr><td>Application<\/td><td>Logs, traces, custom metrics<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>With console-only access, students can observe what is already configured, but they may not be able to fully instrument applications.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 6: Explore CloudWatch Logs<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Find available logs and understand log groups.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Logs<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Log Management<\/strong> or <strong>Log groups<\/strong>.<\/li>\n\n\n\n<li>Review the list of log groups.<\/li>\n\n\n\n<li>Look for log groups related to:\n<ul class=\"wp-block-list\">\n<li>Lambda<\/li>\n\n\n\n<li>RDS<\/li>\n\n\n\n<li>EKS<\/li>\n\n\n\n<li>ECS<\/li>\n\n\n\n<li>API Gateway<\/li>\n\n\n\n<li>VPC Flow Logs<\/li>\n\n\n\n<li>CloudTrail<\/li>\n\n\n\n<li>Application logs<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click one log group.<\/li>\n\n\n\n<li>Open a log stream.<\/li>\n\n\n\n<li>Review log events.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Student Observation<\/h2>\n\n\n\n<p>Ask students:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>What log groups exist?<\/li>\n\n\n\n<li>Which service created each log group?<\/li>\n\n\n\n<li>Are logs recent?<\/li>\n\n\n\n<li>Are logs structured or plain text?<\/li>\n\n\n\n<li>Do logs contain errors?<\/li>\n\n\n\n<li>Can you identify timestamps?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>CloudWatch Logs stores logs in:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Concept<\/th><th>Meaning<\/th><\/tr><\/thead><tbody><tr><td>Log group<\/td><td>Collection of related logs<\/td><\/tr><tr><td>Log stream<\/td><td>Stream of events from a specific source<\/td><\/tr><tr><td>Log event<\/td><td>Individual log line or event<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>CloudWatch Logs is used to monitor, store, and access logs from EC2, CloudTrail, and other sources. (<a href=\"https:\/\/docs.aws.amazon.com\/cloudwatch\/?utm_source=chatgpt.com\">AWS Documentation<\/a>)<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 7: Optional Console-Only RDS Log Collection<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Show students how logs may be enabled from AWS Console if permissions allow.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Use This Only If Instructor Approves<\/h2>\n\n\n\n<p>This activity can modify RDS settings, so use caution.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the <strong>RDS console<\/strong>.<\/li>\n\n\n\n<li>Go to <strong>Databases<\/strong>.<\/li>\n\n\n\n<li>Select a database instance.<\/li>\n\n\n\n<li>Check the <strong>Logs &amp; events<\/strong> tab.<\/li>\n\n\n\n<li>Look for available logs.<\/li>\n\n\n\n<li>If CloudWatch log exports are not enabled:\n<ul class=\"wp-block-list\">\n<li>Click <strong>Modify<\/strong>.<\/li>\n\n\n\n<li>Find <strong>Log exports<\/strong>.<\/li>\n\n\n\n<li>Select available logs, depending on engine type.<\/li>\n\n\n\n<li>Examples may include:\n<ul class=\"wp-block-list\">\n<li>error log<\/li>\n\n\n\n<li>slow query log<\/li>\n\n\n\n<li>general log<\/li>\n\n\n\n<li>audit log<\/li>\n\n\n\n<li>PostgreSQL log<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Save changes only if the instructor approves.<\/li>\n\n\n\n<li>Return to CloudWatch \u2192 Logs \u2192 Log groups.<\/li>\n\n\n\n<li>Look for new RDS log groups.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>RDS metrics are usually visible by default, but RDS logs may require log export configuration.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 8: Optional Console-Only EKS Control Plane Log Collection<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Show students how EKS control plane logs can be enabled from the console if permissions allow.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Use This Only If Instructor Approves<\/h2>\n\n\n\n<p>This may create additional CloudWatch log ingestion costs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the <strong>EKS console<\/strong>.<\/li>\n\n\n\n<li>Go to <strong>Clusters<\/strong>.<\/li>\n\n\n\n<li>Select the EKS cluster.<\/li>\n\n\n\n<li>Find the <strong>Logging<\/strong> or <strong>Observability<\/strong> section.<\/li>\n\n\n\n<li>Review available control plane log types:\n<ul class=\"wp-block-list\">\n<li>API server<\/li>\n\n\n\n<li>Audit<\/li>\n\n\n\n<li>Authenticator<\/li>\n\n\n\n<li>Controller manager<\/li>\n\n\n\n<li>Scheduler<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Enable one or two log types only if approved.<\/li>\n\n\n\n<li>Wait a few minutes.<\/li>\n\n\n\n<li>Return to CloudWatch \u2192 Logs \u2192 Log groups.<\/li>\n\n\n\n<li>Look for EKS-related log groups.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>EKS control plane logs are different from pod\/application logs.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Log Type<\/th><th>Meaning<\/th><\/tr><\/thead><tbody><tr><td>Control plane logs<\/td><td>Kubernetes API\/control plane activity<\/td><\/tr><tr><td>Pod logs<\/td><td>Application\/container logs<\/td><\/tr><tr><td>Node logs<\/td><td>Worker node\/system logs<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>With console-only access, students can enable or inspect some control plane logs, but full pod-level log collection may require Container Insights or agents.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 9: Analyze Logs with Logs Insights<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Run basic log queries from the console.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Logs<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Logs Insights<\/strong>.<\/li>\n\n\n\n<li>Select one log group with recent data.<\/li>\n\n\n\n<li>Choose a time range, such as <strong>Last 1 hour<\/strong> or <strong>Last 3 hours<\/strong>.<\/li>\n\n\n\n<li>Run this basic query:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>fields @timestamp, @message\n| sort @timestamp desc\n| limit 20\n<\/code><\/pre>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li>Run an error search query:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>fields @timestamp, @message\n| filter @message like \/error|ERROR|Exception|Failed|failed\/\n| sort @timestamp desc\n| limit 20\n<\/code><\/pre>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li>If logs contain structured fields, try:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>fields @timestamp, level, service, message\n| filter level = \"ERROR\"\n| sort @timestamp desc\n| limit 20\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Student Observation<\/h2>\n\n\n\n<p>Ask students:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>How many log events were returned?<\/li>\n\n\n\n<li>Are errors visible?<\/li>\n\n\n\n<li>Are logs structured?<\/li>\n\n\n\n<li>Can you identify which service generated the logs?<\/li>\n\n\n\n<li>Can you identify a timestamp and message?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>Logs Insights is useful for investigation. Metrics show that something happened; logs help explain why it happened.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 10: Explore Live Tail<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Show students real-time log viewing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Logs<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Live Tail<\/strong>.<\/li>\n\n\n\n<li>Select a log group with active logs.<\/li>\n\n\n\n<li>Start Live Tail.<\/li>\n\n\n\n<li>Watch log events arrive in real time.<\/li>\n\n\n\n<li>Stop Live Tail after a short observation.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">If No Logs Appear<\/h2>\n\n\n\n<p>Explain:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Live Tail only shows value when the selected log group is actively receiving events.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>Live Tail is helpful during active troubleshooting, deployments, and incident response.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 11: Explore Log Anomalies<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Introduce anomaly detection for logs.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Logs<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Log Anomalies<\/strong>.<\/li>\n\n\n\n<li>Check whether any log anomaly detectors or anomaly patterns exist.<\/li>\n\n\n\n<li>If none exist, explain the purpose rather than configuring it.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>Log anomalies help detect unusual log patterns. This is more useful after an environment has consistent log traffic.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 12: Explore Infrastructure Monitoring<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Let students experience CloudWatch infrastructure-specific views.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Infrastructure Monitoring<\/strong>.<\/li>\n\n\n\n<li>Open <strong>EC2 Resource Health<\/strong>.<\/li>\n\n\n\n<li>Observe available EC2 resources and health information.<\/li>\n\n\n\n<li>Open <strong>Database Insights<\/strong>.<\/li>\n\n\n\n<li>Look for RDS or Aurora database views.<\/li>\n\n\n\n<li>Open <strong>Container Insights<\/strong>.<\/li>\n\n\n\n<li>Look for EKS or ECS data.<\/li>\n\n\n\n<li>If Lambda exists, open <strong>Lambda Insights<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Student Observation<\/h2>\n\n\n\n<p>Ask students to complete this table:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Area<\/th><th>Data Visible?<\/th><th>Useful Metric Seen<\/th><\/tr><\/thead><tbody><tr><td>EC2 Resource Health<\/td><td>Yes\/No<\/td><td><\/td><\/tr><tr><td>Database Insights<\/td><td>Yes\/No<\/td><td><\/td><\/tr><tr><td>Container Insights<\/td><td>Yes\/No<\/td><td><\/td><\/tr><tr><td>Lambda Insights<\/td><td>Yes\/No<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>Infrastructure Monitoring provides a more guided experience than raw metrics, but it depends on which services and telemetry are enabled.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 13: Explore Application Signals \/ APM<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Show students where application-level observability appears.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Application Signals \/ APM<\/strong>.<\/li>\n\n\n\n<li>Open <strong>Services<\/strong>.<\/li>\n\n\n\n<li>Check whether any services appear.<\/li>\n\n\n\n<li>Open <strong>Application Map<\/strong>.<\/li>\n\n\n\n<li>Check whether a service map is visible.<\/li>\n\n\n\n<li>Open <strong>SLO<\/strong>.<\/li>\n\n\n\n<li>Check whether any service level objectives exist.<\/li>\n\n\n\n<li>Open <strong>Traces<\/strong>.<\/li>\n\n\n\n<li>Check whether trace data exists.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">If No Data Appears<\/h2>\n\n\n\n<p>Explain:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Application Signals and traces usually require application instrumentation, CloudWatch Agent, OpenTelemetry, or supported automatic instrumentation. In a new AWS account, this section may be empty.<\/p>\n<\/blockquote>\n\n\n\n<p>Application Signals can correlate service operation metrics with traces, Container Insights, and application logs when configured. (<a href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/monitoring\/ServiceDetail.html?utm_source=chatgpt.com\">AWS Documentation<\/a>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>Metrics and logs are often available before APM. APM requires deeper application observability setup.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 14: Create a Basic EC2 CPU Alarm<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Create a simple CloudWatch alarm using only the console.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Recommended Alarm<\/h2>\n\n\n\n<p>Create an alarm for EC2 CPU utilization.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Alarms<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Create alarm<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Select metric<\/strong>.<\/li>\n\n\n\n<li>Choose <strong>EC2<\/strong>.<\/li>\n\n\n\n<li>Choose <strong>Per-Instance Metrics<\/strong>.<\/li>\n\n\n\n<li>Select one EC2 instance.<\/li>\n\n\n\n<li>Choose <strong>CPUUtilization<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Select metric<\/strong>.<\/li>\n\n\n\n<li>Configure:\n<ul class=\"wp-block-list\">\n<li>Statistic: <strong>Average<\/strong><\/li>\n\n\n\n<li>Period: <strong>5 minutes<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Set condition:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Threshold type: <strong>Static<\/strong><\/li>\n\n\n\n<li>Whenever CPUUtilization is <strong>Greater than<\/strong><\/li>\n\n\n\n<li>Threshold value: <strong>80<\/strong><\/li>\n<\/ul>\n\n\n\n<ol start=\"11\" class=\"wp-block-list\">\n<li>Click <strong>Next<\/strong>.<\/li>\n\n\n\n<li>For notification:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If SNS topic already exists, select it.<\/li>\n\n\n\n<li>If allowed, create a new SNS topic from the console.<\/li>\n\n\n\n<li>Add an email address only if instructor approves.<\/li>\n<\/ul>\n\n\n\n<ol start=\"13\" class=\"wp-block-list\">\n<li>Click <strong>Next<\/strong>.<\/li>\n\n\n\n<li>Name the alarm:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>Lab-EC2-High-CPU-Alarm\n<\/code><\/pre>\n\n\n\n<ol start=\"15\" class=\"wp-block-list\">\n<li>Add a description:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>Triggers when average EC2 CPU utilization is greater than 80% for one evaluation period.\n<\/code><\/pre>\n\n\n\n<ol start=\"16\" class=\"wp-block-list\">\n<li>Preview and create the alarm.<\/li>\n<\/ol>\n\n\n\n<p>CloudWatch metric alarms watch a metric or metric math expression and perform actions when the value crosses a threshold for configured periods. (<a href=\"https:\/\/docs.aws.amazon.com\/AmazonCloudWatch\/latest\/monitoring\/CloudWatch_Alarms.html?utm_source=chatgpt.com\">AWS Documentation<\/a>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Student Observation<\/h2>\n\n\n\n<p>Ask students:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>What metric did you use?<\/li>\n\n\n\n<li>What threshold did you set?<\/li>\n\n\n\n<li>What period did you set?<\/li>\n\n\n\n<li>What happens if the condition is not met?<\/li>\n\n\n\n<li>What is the difference between OK, ALARM, and INSUFFICIENT_DATA?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>CloudWatch alarm states:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>State<\/th><th>Meaning<\/th><\/tr><\/thead><tbody><tr><td>OK<\/td><td>Metric is within acceptable condition<\/td><\/tr><tr><td>ALARM<\/td><td>Threshold condition is breached<\/td><\/tr><tr><td>INSUFFICIENT_DATA<\/td><td>CloudWatch does not have enough data<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 15: Create a Basic RDS Alarm<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Create a database-related alarm.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Recommended Alarm Options<\/h2>\n\n\n\n<p>Use one of these:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Alarm<\/th><th>Metric<\/th><th>Suggested Threshold<\/th><\/tr><\/thead><tbody><tr><td>High RDS CPU<\/td><td>CPUUtilization<\/td><td>Greater than 80%<\/td><\/tr><tr><td>High DB connections<\/td><td>DatabaseConnections<\/td><td>Depends on DB size<\/td><\/tr><tr><td>Low storage<\/td><td>FreeStorageSpace<\/td><td>Less than instructor-defined value<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>CloudWatch \u2192 Alarms<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Create alarm<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Select metric<\/strong>.<\/li>\n\n\n\n<li>Choose <strong>RDS<\/strong>.<\/li>\n\n\n\n<li>Select the database instance.<\/li>\n\n\n\n<li>Choose <strong>CPUUtilization<\/strong> or another instructor-approved metric.<\/li>\n\n\n\n<li>Click <strong>Select metric<\/strong>.<\/li>\n\n\n\n<li>Configure:\n<ul class=\"wp-block-list\">\n<li>Statistic: <strong>Average<\/strong><\/li>\n\n\n\n<li>Period: <strong>5 minutes<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Set threshold:\n<ul class=\"wp-block-list\">\n<li>CPUUtilization greater than <strong>80<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Click <strong>Next<\/strong>.<\/li>\n\n\n\n<li>Configure notification if approved.<\/li>\n\n\n\n<li>Name the alarm:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>Lab-RDS-High-CPU-Alarm\n<\/code><\/pre>\n\n\n\n<ol start=\"13\" class=\"wp-block-list\">\n<li>Create the alarm.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>RDS alarms are useful because database issues can directly impact application performance.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 16: Create a Basic Dashboard<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Create a simple CloudWatch dashboard for EC2, RDS, and EKS-related metrics.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Dashboards<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Create dashboard<\/strong>.<\/li>\n\n\n\n<li>Name it:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>Lab-Basic-Observability-Dashboard\n<\/code><\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Click <strong>Create dashboard<\/strong>.<\/li>\n\n\n\n<li>Add a widget.<\/li>\n\n\n\n<li>Select <strong>Line<\/strong>.<\/li>\n\n\n\n<li>Add EC2 metric:\n<ul class=\"wp-block-list\">\n<li>EC2 \u2192 Per-Instance Metrics \u2192 CPUUtilization<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Save widget.<\/li>\n\n\n\n<li>Add another widget.<\/li>\n\n\n\n<li>Select <strong>Line<\/strong>.<\/li>\n\n\n\n<li>Add RDS metrics:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CPUUtilization<\/li>\n\n\n\n<li>DatabaseConnections<\/li>\n\n\n\n<li>FreeStorageSpace<\/li>\n<\/ul>\n\n\n\n<ol start=\"12\" class=\"wp-block-list\">\n<li>Save widget.<\/li>\n\n\n\n<li>Add another widget.<\/li>\n\n\n\n<li>If EKS\/Container Insights metrics are available, add:<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cluster CPU<\/li>\n\n\n\n<li>Cluster memory<\/li>\n\n\n\n<li>Pod count<\/li>\n\n\n\n<li>Container restart count<\/li>\n<\/ul>\n\n\n\n<ol start=\"15\" class=\"wp-block-list\">\n<li>If EKS metrics are not available, add another available AWS metric instead.<\/li>\n\n\n\n<li>Save the dashboard.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Suggested Dashboard Layout<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Widget<\/th><th>Purpose<\/th><\/tr><\/thead><tbody><tr><td>EC2 CPU Utilization<\/td><td>Server compute health<\/td><\/tr><tr><td>RDS CPU and Connections<\/td><td>Database pressure<\/td><\/tr><tr><td>RDS Free Storage<\/td><td>Capacity risk<\/td><\/tr><tr><td>EKS Cluster\/Container Metrics<\/td><td>Container health<\/td><\/tr><tr><td>Alarm Status Widget<\/td><td>High-level alert view<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Student Observation<\/h2>\n\n\n\n<p>Ask students:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Which metric is most active?<\/li>\n\n\n\n<li>Which resource has the most stable usage?<\/li>\n\n\n\n<li>Which metric would be useful for an alarm?<\/li>\n\n\n\n<li>Which widget helps the operations team most?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>Dashboards are for visibility. Alarms are for action.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 17: Add an Alarm Widget to the Dashboard<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Show alarm state directly in the dashboard.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the dashboard created in Lab 16.<\/li>\n\n\n\n<li>Click <strong>Add widget<\/strong>.<\/li>\n\n\n\n<li>Select an alarm\/status widget if available.<\/li>\n\n\n\n<li>Choose the EC2 alarm created earlier.<\/li>\n\n\n\n<li>Choose the RDS alarm created earlier.<\/li>\n\n\n\n<li>Save the widget.<\/li>\n\n\n\n<li>Save the dashboard.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>An effective operations dashboard should show both:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Current metric trends<\/li>\n\n\n\n<li>Current alarm state<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 18: Explore Metrics Explorer<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Let students experience a more guided way to explore resources.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Metrics<\/strong>.<\/li>\n\n\n\n<li>Click <strong>Explorer<\/strong>.<\/li>\n\n\n\n<li>Choose a resource type if available.<\/li>\n\n\n\n<li>Filter by available resource tags or properties.<\/li>\n\n\n\n<li>Try grouping by:\n<ul class=\"wp-block-list\">\n<li>Instance type<\/li>\n\n\n\n<li>Auto Scaling group<\/li>\n\n\n\n<li>Database<\/li>\n\n\n\n<li>Service<\/li>\n\n\n\n<li>Tag<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Observe the graphs.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>Metrics Explorer is useful when resources are tagged well. If the account has poor tagging, the experience is less useful.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 19: Explore Network Monitoring<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Introduce students to network observability areas without advanced configuration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Steps<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In CloudWatch, go to <strong>Network Monitoring<\/strong>.<\/li>\n\n\n\n<li>Open <strong>Flow monitors<\/strong>.<\/li>\n\n\n\n<li>Observe whether any flow monitors exist.<\/li>\n\n\n\n<li>Open <strong>Internet monitors<\/strong>.<\/li>\n\n\n\n<li>Observe whether any internet monitors exist.<\/li>\n\n\n\n<li>Open <strong>Synthetic monitors<\/strong>.<\/li>\n\n\n\n<li>Observe whether any synthetic monitors exist.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Teaching Point<\/h2>\n\n\n\n<p>Network monitoring is useful for internet-facing and network-heavy systems, but it may require additional configuration.<\/p>\n\n\n\n<p>For this beginner lab, students only need to understand where network observability lives in CloudWatch.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Lab 20: Final Review Activity<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Goal<\/h2>\n\n\n\n<p>Confirm that students understand the CloudWatch observability workflow.<\/p>\n\n\n\n<p>Ask students to complete this table:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Observability Question<\/th><th>CloudWatch Area<\/th><\/tr><\/thead><tbody><tr><td>What is my EC2 CPU usage?<\/td><td>Metrics<\/td><\/tr><tr><td>What errors appeared in application logs?<\/td><td>Logs Insights<\/td><\/tr><tr><td>Is my database under pressure?<\/td><td>RDS Metrics \/ Database Insights<\/td><\/tr><tr><td>Are containers healthy?<\/td><td>Container Insights<\/td><\/tr><tr><td>When should I notify someone?<\/td><td>Alarms<\/td><\/tr><tr><td>How do I create a visual health page?<\/td><td>Dashboards<\/td><\/tr><tr><td>How do I monitor service-level behavior?<\/td><td>Application Signals<\/td><\/tr><tr><td>How do I simulate user checks?<\/td><td>Synthetics<\/td><\/tr><tr><td>How do I monitor real users?<\/td><td>RUM<\/td><\/tr><tr><td>How do I inspect traces?<\/td><td>Traces \/ Trace Map<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 6: Recommended Beginner Lab Script for Tutor Delivery<\/h1>\n\n\n\n<p>You can present the lab in this order:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Opening Explanation<\/h2>\n\n\n\n<p>\u201cToday we are going to use CloudWatch as a beginner observability platform. We will not use CLI, SDK, terminal, kubectl, or any external tool. Everything will be done using the AWS Console.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1<\/h2>\n\n\n\n<p>\u201cFirst, we will explore what CloudWatch already knows about our AWS account.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2<\/h2>\n\n\n\n<p>\u201cThen we will inspect metrics for EC2, RDS, and EKS.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3<\/h2>\n\n\n\n<p>\u201cNext, we will inspect logs and run basic queries using Logs Insights.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4<\/h2>\n\n\n\n<p>\u201cThen we will create a simple alarm.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5<\/h2>\n\n\n\n<p>\u201cFinally, we will build a basic dashboard showing EC2, RDS, and EKS health.\u201d<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 7: Key Concepts to Explain During the Lab<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Metrics<\/h2>\n\n\n\n<p>Metrics are numbers over time.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>EC2 CPUUtilization = 35%\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Logs<\/h2>\n\n\n\n<p>Logs are timestamped records.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2026-04-27 10:15:22 ERROR database connection timeout\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Alarms<\/h2>\n\n\n\n<p>Alarms watch metrics and change state when a threshold is crossed.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CPUUtilization &gt; 80%\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Dashboards<\/h2>\n\n\n\n<p>Dashboards visualize metrics and alarms.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>EC2 CPU + RDS Connections + EKS Cluster CPU\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Logs Insights<\/h2>\n\n\n\n<p>Logs Insights lets students search and analyze logs.<\/p>\n\n\n\n<p>Example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fields @timestamp, @message\n| filter @message like \/ERROR\/\n| sort @timestamp desc\n| limit 20\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 8: What Students Can and Cannot Do with Console-Only Access<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Students Can Do<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>View AWS service metrics.<\/li>\n\n\n\n<li>View existing log groups.<\/li>\n\n\n\n<li>Run Logs Insights queries.<\/li>\n\n\n\n<li>View EC2 CPU and network metrics.<\/li>\n\n\n\n<li>View RDS performance metrics.<\/li>\n\n\n\n<li>View EKS or Container Insights data if already enabled.<\/li>\n\n\n\n<li>Create basic alarms.<\/li>\n\n\n\n<li>Create dashboards.<\/li>\n\n\n\n<li>Explore Application Signals if already configured.<\/li>\n\n\n\n<li>Explore Infrastructure Monitoring.<\/li>\n\n\n\n<li>Explore Network Monitoring sections.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Students Usually Cannot Do<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Install CloudWatch Agent on EC2.<\/li>\n\n\n\n<li>Collect EC2 memory and disk metrics unless agent already exists.<\/li>\n\n\n\n<li>Collect application traces unless application instrumentation exists.<\/li>\n\n\n\n<li>Collect custom application metrics unless application already sends them.<\/li>\n\n\n\n<li>View pod logs unless log collection is configured.<\/li>\n\n\n\n<li>Fully enable deep EKS observability without appropriate permissions and add-ons.<\/li>\n\n\n\n<li>Create meaningful RUM data without application integration.<\/li>\n\n\n\n<li>Create meaningful APM views without instrumentation.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 9: Suggested Lab Timing<\/h1>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Section<\/th><th>Time<\/th><\/tr><\/thead><tbody><tr><td>CloudWatch menu explanation<\/td><td>15 minutes<\/td><\/tr><tr><td>Metrics exploration<\/td><td>25 minutes<\/td><\/tr><tr><td>Logs exploration<\/td><td>20 minutes<\/td><\/tr><tr><td>Logs Insights queries<\/td><td>20 minutes<\/td><\/tr><tr><td>Infrastructure Monitoring<\/td><td>15 minutes<\/td><\/tr><tr><td>Alarm creation<\/td><td>20 minutes<\/td><\/tr><tr><td>Dashboard creation<\/td><td>25 minutes<\/td><\/tr><tr><td>Review and Q&amp;A<\/td><td>20 minutes<\/td><\/tr><tr><td>Total<\/td><td>Around 2.5 hours<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 10: Student Lab Checklist<\/h1>\n\n\n\n<p>Students should complete the following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91; ] Opened CloudWatch console\n&#91; ] Identified left-side navigation sections\n&#91; ] Found EC2 metrics\n&#91; ] Graphed EC2 CPUUtilization\n&#91; ] Found RDS metrics\n&#91; ] Graphed RDS CPUUtilization\n&#91; ] Checked EKS or Container Insights\n&#91; ] Opened CloudWatch Logs\n&#91; ] Identified at least one log group\n&#91; ] Ran a Logs Insights query\n&#91; ] Created one EC2 alarm\n&#91; ] Created one RDS alarm\n&#91; ] Created one CloudWatch dashboard\n&#91; ] Added EC2 metric widget\n&#91; ] Added RDS metric widget\n&#91; ] Added alarm widget\n&#91; ] Explained one CloudWatch limitation\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 11: Simple Final Exercise<\/h1>\n\n\n\n<p>Ask each student to answer:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Which CloudWatch section shows metrics?<\/li>\n\n\n\n<li>Which CloudWatch section shows logs?<\/li>\n\n\n\n<li>Which CloudWatch section is used for alerting?<\/li>\n\n\n\n<li>Which metric did you use for your EC2 alarm?<\/li>\n\n\n\n<li>Which metric did you use for your RDS alarm?<\/li>\n\n\n\n<li>What is the difference between a log and a metric?<\/li>\n\n\n\n<li>Why might EC2 memory not appear in CloudWatch?<\/li>\n\n\n\n<li>Why might EKS pods not appear in Container Insights?<\/li>\n\n\n\n<li>What would you put on a production dashboard?<\/li>\n\n\n\n<li>What is one limitation of console-only observability?<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Part 12: Final Tutor Summary<\/h1>\n\n\n\n<p>End the lab with this message:<\/p>\n\n\n\n<p>\u201cCloudWatch gives us a native AWS observability experience. In this lab, we used only the AWS Console to discover telemetry, explore metrics, inspect logs, run basic log queries, create alarms, and build a dashboard. We learned that CloudWatch can show a lot of AWS service telemetry by default, but deeper observability such as memory metrics, pod logs, traces, Application Signals, and RUM usually requires additional setup. For a beginner AWS operations team, the best starting point is metrics, logs, alarms, and dashboards. Once that foundation is stable, teams can move toward deeper observability with Container Insights, Database Insights, Application Signals, traces, SLOs, and synthetic monitoring.\u201d<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This lab is designed for students who have AWS Console access only. No AWS CLI, no SDK, no terminal, no [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2273","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AWS CloudWatch Console-Only Lab Guide - SRE School<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS CloudWatch Console-Only Lab Guide - SRE School\" \/>\n<meta property=\"og:description\" content=\"This lab is designed for students who have AWS Console access only. No AWS CLI, no SDK, no terminal, no [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"SRE School\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-27T10:10:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-27T10:10:30+00:00\" \/>\n<meta name=\"author\" content=\"Rajesh Kumar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rajesh Kumar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/\",\"url\":\"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/\",\"name\":\"AWS CloudWatch Console-Only Lab Guide - SRE School\",\"isPartOf\":{\"@id\":\"https:\/\/sreschool.com\/blog\/#website\"},\"datePublished\":\"2026-04-27T10:10:29+00:00\",\"dateModified\":\"2026-04-27T10:10:30+00:00\",\"author\":{\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/0ffe446f77bb2589992dbe3a7f417201\"},\"breadcrumb\":{\"@id\":\"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/sreschool.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS CloudWatch Console-Only Lab Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/sreschool.com\/blog\/#website\",\"url\":\"https:\/\/sreschool.com\/blog\/\",\"name\":\"SRESchool\",\"description\":\"Master SRE. Build Resilient Systems. Lead the Future of Reliability\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/sreschool.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/0ffe446f77bb2589992dbe3a7f417201\",\"name\":\"Rajesh Kumar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\/\/sreschool.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f901a4f2929fa034a291a8363d589791d5a3c1f6a051c22e744acb8bfc8e022a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f901a4f2929fa034a291a8363d589791d5a3c1f6a051c22e744acb8bfc8e022a?s=96&d=mm&r=g\",\"caption\":\"Rajesh Kumar\"},\"sameAs\":[\"http:\/\/sreschool.com\/blog\"],\"url\":\"https:\/\/sreschool.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AWS CloudWatch Console-Only Lab Guide - SRE School","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/","og_locale":"en_US","og_type":"article","og_title":"AWS CloudWatch Console-Only Lab Guide - SRE School","og_description":"This lab is designed for students who have AWS Console access only. No AWS CLI, no SDK, no terminal, no [&hellip;]","og_url":"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/","og_site_name":"SRE School","article_published_time":"2026-04-27T10:10:29+00:00","article_modified_time":"2026-04-27T10:10:30+00:00","author":"Rajesh Kumar","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rajesh Kumar","Est. reading time":"19 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/","url":"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/","name":"AWS CloudWatch Console-Only Lab Guide - SRE School","isPartOf":{"@id":"https:\/\/sreschool.com\/blog\/#website"},"datePublished":"2026-04-27T10:10:29+00:00","dateModified":"2026-04-27T10:10:30+00:00","author":{"@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/0ffe446f77bb2589992dbe3a7f417201"},"breadcrumb":{"@id":"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/sreschool.com\/blog\/aws-cloudwatch-console-only-lab-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sreschool.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS CloudWatch Console-Only Lab Guide"}]},{"@type":"WebSite","@id":"https:\/\/sreschool.com\/blog\/#website","url":"https:\/\/sreschool.com\/blog\/","name":"SRESchool","description":"Master SRE. Build Resilient Systems. Lead the Future of Reliability","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sreschool.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Person","@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/0ffe446f77bb2589992dbe3a7f417201","name":"Rajesh Kumar","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/sreschool.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f901a4f2929fa034a291a8363d589791d5a3c1f6a051c22e744acb8bfc8e022a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f901a4f2929fa034a291a8363d589791d5a3c1f6a051c22e744acb8bfc8e022a?s=96&d=mm&r=g","caption":"Rajesh Kumar"},"sameAs":["http:\/\/sreschool.com\/blog"],"url":"https:\/\/sreschool.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/2273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/comments?post=2273"}],"version-history":[{"count":1,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/2273\/revisions"}],"predecessor-version":[{"id":2274,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/posts\/2273\/revisions\/2274"}],"wp:attachment":[{"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/media?parent=2273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/categories?post=2273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sreschool.com\/blog\/wp-json\/wp\/v2\/tags?post=2273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}