0
0
AwsHow-ToBeginner · 4 min read

How to Create a CloudWatch Dashboard in AWS

To create a CloudWatch dashboard, define a JSON dashboard body describing widgets and metrics, then use the AWS Console or AWS CLI put-dashboard command to create it. The dashboard visually displays your AWS resource metrics in one place.
📐

Syntax

The basic syntax to create a CloudWatch dashboard using AWS CLI is:

  • aws cloudwatch put-dashboard --dashboard-name <name> --dashboard-body <json>

Where:

  • --dashboard-name is the name you choose for your dashboard.
  • --dashboard-body is a JSON string defining the layout and widgets of the dashboard.
bash
aws cloudwatch put-dashboard --dashboard-name MyDashboard --dashboard-body '{"widgets":[]}'
Output
{"DashboardValidationMessages":[]}
💻

Example

This example creates a CloudWatch dashboard named MyDashboard with one widget showing CPU utilization of an EC2 instance.

bash
aws cloudwatch put-dashboard --dashboard-name MyDashboard --dashboard-body '{"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 Utilization"}}]}'
Output
{"DashboardValidationMessages":[]}
⚠️

Common Pitfalls

Common mistakes when creating CloudWatch dashboards include:

  • Using invalid JSON in --dashboard-body causing errors.
  • Incorrect widget properties like missing metrics or wrong region.
  • Choosing a dashboard name that already exists without intending to update it.

Always validate your JSON and check AWS CLI error messages carefully.

bash
aws cloudwatch put-dashboard --dashboard-name MyDashboard --dashboard-body '{"widgets":[{"type":"metric","x":0,"y":0,"width":6,"height":6,"properties":{"metrics":[["AWS/EC2","CPUUtilization"]]}}]}'

# This may fail if JSON is incomplete or missing required fields like position (x,y) and size (width,height).
📊

Quick Reference

  • Dashboard Name: Unique name for your dashboard.
  • Dashboard Body: JSON defining widgets and layout.
  • Widget Types: Metric, Text, etc.
  • Metrics: Specify namespace, metric name, and dimensions.
  • Use AWS Console: You can also create dashboards visually in the CloudWatch console.

Key Takeaways

Use the AWS CLI command 'put-dashboard' with a JSON body to create dashboards.
Dashboard JSON must define widgets with correct metrics and layout properties.
Validate JSON syntax to avoid errors during dashboard creation.
Dashboard names must be unique or will overwrite existing dashboards.
You can also create and edit dashboards easily via the AWS Management Console.