Custom Dashboards let you create your own monitoring views by combining widgets that visualize any metric collected by your application. Pick the metrics that matter to you, choose how to display them, and arrange everything on a drag-and-drop grid.
Six visualization types are available:
| Type | Best for | Default size |
|---|
| Chart | Time-series trends (line, area, or bar) | 6×5 |
| Stat | Single important number at a glance | 3×3 |
| Sparkline | Latest value with a mini trend chart | 3×3 |
| Table | Tabular breakdown of metric data | 6×5 |
| Pie | Proportional breakdown by attribute | 4×4 |
| Bar gauge | Ranked comparison across groups | 4×5 |
Pie and Bar gauge widgets require a groupBy attribute to split the data.
Each widget is backed by an OpenTelemetry metric. You pick:
- Metric name — any metric collected by your application (use the metric explorer to discover them)
- Aggregation — avg, sum, count, min, max, rate, or percentiles (p50, p90, p95, p99)
- Group by — split the data by any attribute (e.g.
service.name, host.name)
- Filters — narrow down by attribute values
Display options
- Chart type — line, area, or bar (for chart widgets)
- Stacking — stack grouped series on top of each other
- Format — number, duration, percentage, or bytes
- Unit — custom label for axes and tooltips (e.g. “ms”, “req/s”, “MB”)
- Color — pick from a preset palette or use the default auto-coloring
Grid layout
Dashboards use a 12-column grid. In edit mode, you can drag widgets to reposition them and resize them from the bottom-right corner. The layout is saved per dashboard.
A few tips for clean layouts:
- Widgets on the same row should have the same height to avoid gaps
- Plan each row as a unit — decide the row height first, then size all widgets to match
- Stat and sparkline widgets work well as a row of 4 (3 columns each)
- Chart and table widgets pair nicely as two per row (6 columns each)
MCP Server
Custom dashboards are fully manageable through the Monocle MCP Server. Your AI assistant can create dashboards, add widgets, and update layouts programmatically.
| Tool | Description |
|---|
list_dashboards | List all custom dashboards |
get_dashboard | Get a dashboard with all its widgets |
create_dashboard | Create a new empty dashboard |
update_dashboard | Update name, description, or icon |
delete_dashboard | Delete a dashboard and all its widgets |
add_widget | Add a widget with metric, visualization, and layout config |
update_widget | Update an existing widget |
remove_widget | Remove a widget |
Example: “Create a dashboard called API Health with charts for request latency, error rate, and throughput”