Homeโ€บ๐Ÿ“Š Track 3: Monitor & Alertโ€บModule 92 min read ยท 10/21

Dashboards

Hands-on

Dashboards

Dashboards are how teams consume observability data daily. Each tile is a DQL query with a visualization.

Creating a Dashboard

  1. Ctrl+K โ†’ "Dashboards" โ†’ Create new
  2. Click + Tile โ†’ Select "Data explorer"
  3. Write a DQL query โ†’ choose visualization โ†’ position the tile
  4. Repeat for each metric you want to track

Common Tile Patterns

Tile Type           DQL Query                                               Visualization
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Host CPU            timeseries avg(dt.host.cpu.usage), by:{dt.entity.host}  Line chart
Service RT          timeseries avg(dt.service.request.response_time)         Line chart
Error count         fetch logs | filter loglevel == "ERROR" | summarize cnt=count()  Single value
Log errors/time     fetch logs | filter loglevel == "ERROR" | makeTimeseries count=count()  Line chart
Active problems     fetch events | filter event.kind == "DAVIS_PROBLEM" | filter event.status == "ACTIVE" | summarize cnt=count()  Single value
Host table          fetch dt.entity.host | fields entity.name, state        Table

Variables

Variables make dashboards interactive โ€” users can filter by host, service, or time range:

// In the variable definition:
fetch dt.entity.host | fields entity.name, id

// In tile queries, reference with $variable_name:
timeseries avg(dt.host.cpu.usage),
  filter:{dt.entity.host == $host}

Segments

Segments are reusable data filters โ€” like saved search criteria. Apply a segment to a dashboard to filter all tiles at once (e.g., "show only production hosts").

๐Ÿ’ก Start with 3-5 tiles covering the basics: CPU, memory, error rate, response time, active problems. Add more as you learn what your team needs.

Sharing

  • Share link โ€” anyone with environment access can view
  • Document API โ€” deploy dashboards programmatically
  • Terraform โ€” manage dashboards as code (dynatrace_document resource)

๐Ÿ›  Try it: Open Dashboards โ†’ filter by "Ready-made" โ†’ pick any dashboard (try "Getting started"). Click "Duplicate" to make your own copy, then edit a tile's DQL query. This is the fastest way to learn dashboard building.

Dashboard Gotchas

  • Always set davis.enabled: false on data tiles โ€” otherwise tiles may render incorrectly
  • 24-column grid โ€” full width = 24, half = 12, third = 8, quarter = 6
  • Quote "y" in YAML โ€” bare y is parsed as boolean true by YAML parsers
  • Use makeTimeseries for logs/spans โ€” timeseries is only for metrics
  • Visualization selection: single number โ†’ singleValue, time series โ†’ lineChart, categories โ†’ pieChart or table, entity grid โ†’ honeycomb
  • barChart expects numeric x-axis โ€” string categories (service names, namespaces) render poorly. Use pieChart or table instead
  • Ready-made dashboards โ€” 100+ out-of-the-box dashboards available (AWS, K8s, AI, security, experience). No setup needed
  • Threshold colors: green #2f6862, yellow #eea53c, red #c62239 (Dynatrace theme)