Bird
Raised Fist0
AWScloud~30 mins

CloudWatch metrics in AWS - Mini Project: Build & Apply

Choose your learning style10 modes available
Basic CloudWatch Metrics Setup
📖 Scenario: You are managing a simple web application hosted on AWS. You want to monitor the CPU usage of your application servers to ensure they are running smoothly and to detect any performance issues early.
🎯 Goal: Create a CloudWatch metric setup that tracks CPU utilization for your application servers. You will define the metric data, configure a threshold for high CPU usage, apply the monitoring logic, and complete the CloudWatch alarm configuration.
📋 What You'll Learn
Create a CloudWatch metric data dictionary with exact keys and values
Add a threshold variable for CPU utilization
Write a function to check if CPU usage exceeds the threshold
Complete the CloudWatch alarm configuration with the correct metric and threshold
💡 Why This Matters
🌍 Real World
Monitoring server CPU usage helps keep applications running smoothly and prevents downtime by alerting when resources are overused.
💼 Career
Cloud engineers and DevOps professionals use CloudWatch metrics and alarms to maintain healthy cloud infrastructure and respond quickly to issues.
Progress0 / 4 steps
1
Create CloudWatch metric data dictionary
Create a dictionary called cpu_metric with these exact entries: 'Namespace': 'AWS/EC2', 'MetricName': 'CPUUtilization', 'Dimensions': [{'Name': 'InstanceId', 'Value': 'i-1234567890abcdef0'}], and 'Unit': 'Percent'.
AWS
Hint

Think of cpu_metric as a label that describes what you want to measure in AWS CloudWatch.

2
Add CPU utilization threshold
Create a variable called cpu_threshold and set it to the integer 80 to represent 80% CPU usage as the alert threshold.
AWS
Hint

This threshold will help you decide when CPU usage is too high.

3
Write function to check CPU usage against threshold
Write a function called is_cpu_high that takes a parameter cpu_usage and returns True if cpu_usage is greater than cpu_threshold, otherwise returns False.
AWS
Hint

This function helps you decide if the CPU usage is above the limit you set.

4
Complete CloudWatch alarm configuration
Create a dictionary called cpu_alarm with these exact entries: 'AlarmName': 'HighCPUUsage', 'MetricName': cpu_metric['MetricName'], 'Namespace': cpu_metric['Namespace'], 'Dimensions': cpu_metric['Dimensions'], 'Threshold': cpu_threshold, 'ComparisonOperator': 'GreaterThanThreshold', and 'EvaluationPeriods': 1.
AWS
Hint

This dictionary represents the alarm that will notify you when CPU usage is too high.

Practice

(1/5)
1. What is the primary purpose of AWS CloudWatch metrics?
easy
A. To create virtual machines
B. To store files and documents securely
C. To monitor and track the performance of cloud resources
D. To manage user permissions

Solution

  1. Step 1: Understand CloudWatch metrics role

    CloudWatch metrics collect data points about cloud resources like CPU usage or network traffic.
  2. Step 2: Identify the main use

    This data helps monitor and keep cloud resources healthy and efficient.
  3. Final Answer:

    To monitor and track the performance of cloud resources -> Option C
  4. Quick Check:

    CloudWatch metrics = Monitor resources [OK]
Hint: CloudWatch metrics = numbers about resource health [OK]
Common Mistakes:
  • Confusing metrics with storage services
  • Thinking metrics create resources
  • Mixing metrics with user management
2. Which of the following is the correct way to specify a metric namespace in AWS CloudWatch?
easy
A. Namespace: AWS/EC2
B. Namespace = AWS-EC2
C. Namespace -> AWS.EC2
D. Namespace is AWS_EC2

Solution

  1. Step 1: Recall CloudWatch namespace format

    Namespaces use a string format with a slash, like AWS/EC2, to group metrics.
  2. Step 2: Check each option format

    Only 'Namespace: AWS/EC2' uses the correct slash format without invalid characters.
  3. Final Answer:

    Namespace: AWS/EC2 -> Option A
  4. Quick Check:

    Namespace uses slash (/) format [OK]
Hint: Namespace uses slash (/) format, not dash or underscore [OK]
Common Mistakes:
  • Using dash or underscore instead of slash
  • Using equal sign instead of colon
  • Using arrow notation incorrectly
3. Given the following CloudWatch metric data points for CPU utilization: [10, 20, 30, 40, 50], what is the average CPU utilization reported?
medium
A. 10
B. 25
C. 50
D. 30

Solution

  1. Step 1: Sum all CPU utilization values

    10 + 20 + 30 + 40 + 50 = 150
  2. Step 2: Calculate average by dividing sum by count

    150 / 5 = 30
  3. Final Answer:

    30 -> Option D
  4. Quick Check:

    Average = Sum / Count = 30 [OK]
Hint: Average = add all values, divide by number of values [OK]
Common Mistakes:
  • Adding incorrectly
  • Dividing by wrong count
  • Picking max or min instead of average
4. You set a CloudWatch alarm to trigger when CPU utilization exceeds 70%, but it never triggers even when CPU is 80%. What is a likely cause?
medium
A. The metric period is too long, smoothing out spikes
B. The alarm threshold is set incorrectly below 70%
C. The alarm action is missing
D. The CPU utilization metric is disabled

Solution

  1. Step 1: Understand alarm threshold and metric period

    The alarm triggers if average CPU exceeds 70% during the period.
  2. Step 2: Identify effect of long metric period

    A long period averages out spikes, so short CPU spikes above 70% may not trigger alarm.
  3. Final Answer:

    The metric period is too long, smoothing out spikes -> Option A
  4. Quick Check:

    Long period averages hide spikes [OK]
Hint: Long metric periods smooth spikes, prevent alarms [OK]
Common Mistakes:
  • Assuming threshold is set below 70%
  • Ignoring missing alarm actions
  • Thinking metrics can be disabled
5. You want to monitor the average latency of your web application every 5 minutes using CloudWatch. Which combination of settings is best to achieve this?
hard
A. Set metric period to 60 seconds and statistic to Sum
B. Set metric period to 300 seconds and statistic to Average
C. Set metric period to 300 seconds and statistic to Maximum
D. Set metric period to 60 seconds and statistic to Minimum

Solution

  1. Step 1: Understand metric period and statistic

    Period defines how often data is collected; statistic defines how data is summarized.
  2. Step 2: Match requirements to settings

    To monitor average latency every 5 minutes, use 300 seconds period and Average statistic.
  3. Final Answer:

    Set metric period to 300 seconds and statistic to Average -> Option B
  4. Quick Check:

    5 min period + Average = correct monitoring [OK]
Hint: Use 300s period and Average for 5-minute average latency [OK]
Common Mistakes:
  • Using Sum or Maximum instead of Average
  • Using 60s period for 5-minute average
  • Confusing Minimum with latency monitoring
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard