Build Cloud Monitoring dashboard JSON with mosaic layouts, XY charts, scorecards, and template filters.
Last verified: May 2026
Build Cloud Monitoring dashboard JSON with mosaic layouts, XY charts, scorecards, and template filters.
Required Fields
displayNamemosaicLayout.tilesOutput will appear here...The builder constructs Cloud Monitoring dashboard JSON resources with: dashboardFilters (subscription/project pickers), gridLayout or mosaicLayout, widgets (timeSeriesChart with MQL/PromQL queries, scorecard for single-value KPIs, alertChart for alert state visualization, logsPanel for embedded Cloud Logging queries, text widgets for documentation), and labels for organization. Output is generated as gcloud monitoring dashboards commands and Terraform google_monitoring_dashboard resources.
Cloud Monitoring dashboards let you visualize metrics, logs, and traces from GCP services, custom applications, and third-party integrations in a single pane. Dashboards are defined as JSON configurations and can be version-controlled and deployed programmatically. This builder helps you create dashboard definitions with widget layouts including line charts, scorecards, heatmaps, alert charts, and log panels, along with MQL or PromQL metric queries, generating the JSON or Terraform configuration for deployment.
Your team's Cloud Monitoring dashboards are scattered across 8 'service health' dashboards, each duplicated for prod/staging — total 16 dashboards, all subtly different. The builder helps standardize: 1 'Service Health' dashboard template with subscription + service parameters cascading through all queries. Deploy via Terraform with environment-specific parameters. After migration, 16 dashboards become 1 template with 16 instantiations — drift between environments eliminated, updates flow through Terraform deploys.
Use MQL or PromQL — NOT the legacy filter syntax. Both support advanced operations like time-shifting, percentile aggregation, and outer joins that legacy filter cannot. PromQL is more familiar if your team has Prometheus background; MQL has slightly more powerful temporal operations. Pick one and stick with it across dashboards.
Always add a text widget at the top of each dashboard with: dashboard purpose, oncall contact, link to runbook, and 'what should this look like?' baseline description. Dashboards without context require viewers to know what's normal — text widgets make them self-documenting.
Group widgets by user concern, not by data source. A 'Database Performance' section combining query latency, connection pool depth, replication lag, and disk IOPS is more useful than separate sections for 'Cloud SQL', 'AlloyDB Metrics', etc. Users think in terms of system behavior, not provider services.
Cloud Monitoring supports MQL (Monitoring Query Language), PromQL (Prometheus Query Language), and the legacy Monitoring filter syntax. MQL is Google's native language with powerful operations like group_by, align, and outer_join. PromQL is ideal if your team already uses Prometheus. Both languages can query the same metric data — choose based on your team's familiarity. The builder generates queries in your preferred language.
Yes. Dashboards are JSON resources that can be created and updated via the Cloud Monitoring API, gcloud CLI, or Terraform google_monitoring_dashboard resources. Export a dashboard's JSON from the console, store it in version control, and deploy it across projects using your CI/CD pipeline. This approach ensures consistent observability across development, staging, and production environments.
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.