Build CloudWatch dashboard widget layouts with metric, alarm, and text widgets.
Last verified: May 2026
Build CloudWatch dashboard widget JSON with metrics, alarms, and text widgets.
Required Fields
DashboardNameDashboardBody.widgetsOutput will appear here...Your team's 'production overview' dashboard has grown to 80 metrics across 30 widgets — way over the 50-metric free tier limit, costing $3/month plus the cognitive overhead of scanning a wall of graphs. The builder helps split it into 3 focused dashboards: API tier (request rate, p95 latency, 5xx rate, ALB target health), data tier (RDS connections, Aurora ACU, ElastiCache hit rate), compute tier (ASG instance count, CPU avg, deployment events). Each fits in the free tier. On-call engineers find issues faster because dashboards are scoped to specific failure modes.
CloudWatch Dashboards provide customizable home pages for monitoring AWS resources and applications. A dashboard is defined as a JSON document containing widgets — metric graphs, alarm status indicators, text blocks, log query results, and explorer widgets. Building dashboard JSON manually is tedious and error-prone because the widget specification includes nested metric arrays, stat types, period settings, and precise layout coordinates. The CloudWatch Dashboard Builder lets you visually configure widgets and generates the complete dashboard body JSON with proper metric namespaces, dimensions, and layout coordinates.
The builder generates CloudWatch dashboard JSON bodies with widgets array. Each widget has type (metric, alarm, text, log, explorer), x/y position and width/height in grid units, and properties specific to its type (metrics array with namespace/dimensions/stat/period for metric widgets; query string for log widgets; markdown content for text widgets). Output is the dashboard body string ready for `aws cloudwatch put-dashboard` and Terraform aws_cloudwatch_dashboard.dashboard_body.
The 50-metrics-per-dashboard free tier limit is per-dashboard, not per-account. Splitting one mega-dashboard into 3 focused dashboards (one per service tier) keeps each within the free tier — saving $9/month vs paying for one expansive dashboard.
Always use the explorer widget for tagged resources instead of hand-listing instances. An explorer widget that shows 'all EC2 instances tagged env:prod' auto-includes new instances as your fleet grows. Hand-listed instances rot — they break when instances are replaced.
Markdown text widgets are underused. Add context: links to runbooks, descriptions of what each section means, oncall contact info. A dashboard without context requires the viewer to know what's normal — text widgets answer 'what should this look like?' for anyone glancing at the dashboard.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.