Bird
Raised Fist0
AWScloud~20 mins

CloudWatch dashboards in AWS - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
CloudWatch Dashboard Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
What happens when you add a widget to a CloudWatch dashboard?

You add a new widget to an existing CloudWatch dashboard. What is the immediate effect on the dashboard's state?

AThe widget is added but only visible after 24 hours due to caching delays.
BThe widget is saved and visible on the dashboard immediately after saving changes.
CThe widget is added but requires a manual refresh of the dashboard to appear.
DThe widget is added but only visible to users with admin permissions.
Attempts:
2 left
💡 Hint

Think about how dashboards update when you save changes.

❓ Configuration
intermediate
2:00remaining
Which JSON snippet correctly defines a CloudWatch dashboard with a single metric widget?

Choose the valid JSON configuration for a CloudWatch dashboard containing one metric widget showing CPUUtilization for an EC2 instance.

A
{
  "widgets": [
    {
      "type": "metric",
      "x": 0,
      "y": 0,
      "width": 6,
      "height": 6,
      "properties": {
        "metrics": [["AWS/EC2", "CPUUtilization", "InstanceId", "i-1234567890abcdef0"]],
        "period": 300,
        "stat": "Average",
        "region": "us-east-1",
        "title": "EC2 CPU"
      }
    }
  ]
}
B
{
  "widgets": [
    {
      "type": "metric",
      "x": 0,
      "y": 0,
      "width": 6,
      "height": 6,
      "properties": {
        "metrics": ["AWS/EC2", "CPUUtilization", "InstanceId", "i-1234567890abcdef0"],
        "period": 300,
        "stat": "Average",
        "region": "us-east-1",
        "title": "EC2 CPU"
      }
    }
  ]
}
C
{
  "widgets": [
    {
      "type": "metric",
      "x": 0,
      "y": 0,
      "width": 6,
      "height": 6,
      "properties": {
        "metrics": [["AWS/EC2", "CPUUtilization"]],
        "period": 300,
        "stat": "Average",
        "region": "us-east-1",
        "title": "EC2 CPU"
      }
    }
  ]
}
D
{
  "widgets": [
    {
      "type": "metric",
      "x": 0,
      "y": 0,
      "width": 6,
      "height": 6,
      "properties": {
        "metrics": [["AWS/EC2", "CPUUtilization", "InstanceId"]],
        "period": 300,
        "stat": "Average",
        "region": "us-east-1",
        "title": "EC2 CPU"
      }
    }
  ]
}
Attempts:
2 left
💡 Hint

Remember the metrics property requires a list of lists with dimension key-value pairs.

❓ Architecture
advanced
2:00remaining
How to design a CloudWatch dashboard for multi-region EC2 monitoring?

You want a single CloudWatch dashboard to show CPU utilization for EC2 instances across two AWS regions: us-east-1 and us-west-2. What is the best approach?

ACreate one dashboard but omit the region property; CloudWatch will automatically aggregate metrics from all regions.
BCreate two separate dashboards, one per region, and switch between them manually.
CCreate one dashboard with widgets specifying the region property for each metric to show data from both regions.
DCreate one dashboard and use cross-account roles to pull metrics from the other region.
Attempts:
2 left
💡 Hint

Think about how CloudWatch widgets specify regions for metrics.

❓ security
advanced
2:00remaining
Which IAM policy allows read-only access to CloudWatch dashboards?

You want to grant a user permission to view CloudWatch dashboards but not modify them. Which IAM policy action is required?

A"cloudwatch:GetDashboard"
B"cloudwatch:PutDashboard"
C"cloudwatch:DeleteDashboards"
D"cloudwatch:ListDashboards"
Attempts:
2 left
💡 Hint

Consider which action retrieves dashboard content without changing it.

✅ Best Practice
expert
2:00remaining
What is the best practice to optimize CloudWatch dashboard performance with many widgets?

You have a CloudWatch dashboard with 50 widgets showing various metrics. The dashboard loads slowly. What is the best practice to improve performance?

ARemove the region property from widgets to let CloudWatch aggregate metrics automatically.
BIncrease the refresh rate to update widgets more frequently.
CAdd more widgets with smaller time ranges to reduce data volume per widget.
DGroup related metrics into fewer widgets using metric math or multiple metrics per widget.
Attempts:
2 left
💡 Hint

Think about reducing the number of widgets to reduce load.

Practice

(1/5)
1. What is the main purpose of an AWS CloudWatch dashboard?
easy
A. To deploy new cloud servers automatically
B. To store backups of cloud data
C. To visually display cloud resource metrics in one place
D. To manage user permissions for AWS services

Solution

  1. Step 1: Understand CloudWatch dashboard function

    CloudWatch dashboards collect and show metrics visually for easy monitoring.
  2. Step 2: Compare options with dashboard purpose

    Only To visually display cloud resource metrics in one place describes visual display of metrics; others describe unrelated tasks.
  3. Final Answer:

    To visually display cloud resource metrics in one place -> Option C
  4. Quick Check:

    Dashboard = Visual metrics display [OK]
Hint: Dashboards show metrics visually, not manage or store data [OK]
Common Mistakes:
  • Confusing dashboards with backup storage
  • Thinking dashboards manage permissions
  • Assuming dashboards deploy servers
2. Which JSON element is required to add a widget to a CloudWatch dashboard?
easy
A. "widgets" array containing widget objects
B. "servers" array listing EC2 instances
C. "permissions" object defining access rights
D. "backups" array for snapshot data

Solution

  1. Step 1: Identify JSON structure for dashboards

    CloudWatch dashboards use a "widgets" array to hold widget definitions.
  2. Step 2: Eliminate unrelated JSON elements

    Options A, B, and D relate to servers, permissions, or backups, not widgets.
  3. Final Answer:

    "widgets" array containing widget objects -> Option A
  4. Quick Check:

    Widgets array = dashboard widgets [OK]
Hint: Widgets array holds dashboard widgets in JSON [OK]
Common Mistakes:
  • Using 'servers' instead of 'widgets'
  • Confusing permissions with widget data
  • Including backups in dashboard JSON
3. Given this widget JSON snippet for a CloudWatch dashboard:
{"type": "metric", "x": 0, "y": 0, "width": 6, "height": 6, "properties": {"metrics": [["AWS/EC2", "CPUUtilization", "InstanceId", "i-1234567890abcdef0"]], "period": 300, "stat": "Average"}}

What metric will this widget display?
medium
A. Total network traffic of all EC2 instances
B. Average CPU utilization of the specified EC2 instance
C. Disk read operations for the specified EC2 instance
D. Memory usage of the specified EC2 instance

Solution

  1. Step 1: Analyze the metric details in JSON

    The metric is "CPUUtilization" for AWS/EC2 with a specific InstanceId, using average statistic.
  2. Step 2: Match metric to options

    Average CPU utilization of the specified EC2 instance matches CPU utilization average; others mention different metrics not in JSON.
  3. Final Answer:

    Average CPU utilization of the specified EC2 instance -> Option B
  4. Quick Check:

    Metric name = CPUUtilization [OK]
Hint: Look for metric name and stat in properties.metrics [OK]
Common Mistakes:
  • Confusing CPU with network or disk metrics
  • Ignoring the InstanceId filter
  • Assuming memory metric without it specified
4. You uploaded a CloudWatch dashboard JSON but the widgets do not appear. Which is the most likely error?
medium
A. The JSON is missing the required "widgets" array
B. The EC2 instances are stopped
C. The AWS region is incorrect in the AWS CLI configuration
D. The IAM user lacks S3 bucket permissions

Solution

  1. Step 1: Identify JSON structure requirement

    CloudWatch dashboards require a "widgets" array; missing it means no widgets show.
  2. Step 2: Evaluate other options for widget display

    Stopped EC2 or region mismatch may affect metrics but not widget display; S3 permissions unrelated.
  3. Final Answer:

    The JSON is missing the required "widgets" array -> Option A
  4. Quick Check:

    Missing widgets array = no widgets shown [OK]
Hint: Always check for 'widgets' array in dashboard JSON [OK]
Common Mistakes:
  • Blaming stopped instances for widget display
  • Confusing region config with dashboard JSON
  • Assuming S3 permissions affect dashboards
5. You want a CloudWatch dashboard to show CPU utilization for multiple EC2 instances side by side. Which JSON widget configuration approach is best?
hard
A. Add a text widget listing instance IDs
B. Create multiple dashboards, one per instance
C. Use a single metric widget without specifying InstanceId
D. Create one widget with multiple metrics, each metric for one instance

Solution

  1. Step 1: Understand dashboard widget capabilities

    A single widget can show multiple metrics side by side by listing each instance's CPU metric.
  2. Step 2: Evaluate other options for efficiency and clarity

    Multiple dashboards (B) is inefficient; single metric without InstanceId (C) aggregates all instances; text widget (D) does not show metrics.
  3. Final Answer:

    Create one widget with multiple metrics, each metric for one instance -> Option D
  4. Quick Check:

    Multiple metrics in one widget = side-by-side display [OK]
Hint: Use multiple metrics in one widget for side-by-side comparison [OK]
Common Mistakes:
  • Creating separate dashboards wastes effort
  • Omitting InstanceId shows combined data, not per instance
  • Using text widgets instead of metric widgets
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