Dashboards
The DashboardController manages observability dashboard templates and configurations. Dashboards aggregate metrics, logs, and traces into pre-built or custom views. The RealtimeDashboardController provides WebSocket-based real-time dashboard updates.
Dashboard Templates
Endpoint: GET /api/v1/observability/dashboards/templates
Returns the list of pre-built dashboard templates.
Built-In Templates
| Template | Description |
|---|---|
service-overview | Request rates, error rates, latency for all services |
infrastructure | CPU, memory, disk, network utilization |
database | Query performance, connection pools, replication lag |
api-performance | API endpoint response times and error breakdowns |
security | Authentication events, access denials, rate limits |
cost | Resource cost tracking and budget utilization |
DashboardTemplate Structure
| Field | Type | Description |
|---|---|---|
id | String | Template identifier |
name | String | Display name |
description | String | Template description |
category | String | Template category |
panels | List | Panel configurations (queries, visualization type) |
variables | List | Dashboard variables (service, time range) |
refreshInterval | String | Auto-refresh interval |
Dashboard CRUD
Create Dashboard
Endpoint: POST /api/v1/observability/dashboards
Get Dashboard
Endpoint: GET /api/v1/observability/dashboards/:dashboardId
Update Dashboard
Endpoint: PUT /api/v1/observability/dashboards/:dashboardId
Delete Dashboard
Endpoint: DELETE /api/v1/observability/dashboards/:dashboardId
List Tenant Dashboards
Endpoint: GET /api/v1/observability/dashboards/tenants/:tenantId
Real-Time Dashboards
The RealtimeDashboardController provides WebSocket endpoints for live dashboard updates. When a client connects, the server pushes metric updates at the configured refresh interval.
RealtimeDashboard Structure
| Field | Type | Description |
|---|---|---|
id | String | Dashboard identifier |
name | String | Dashboard name |
metrics | List | List of real-time metric streams |
refreshIntervalMs | long | Update interval in milliseconds |
RealtimeMetric Structure
| Field | Type | Description |
|---|---|---|
name | String | Metric name |
query | String | PromQL query |
currentValue | double | Latest value |
trend | String | up, down, stable |
timestamp | Instant | Last update time |
Scheduled Reports
The ScheduledReportService generates periodic dashboard reports (daily, weekly, monthly) and delivers them via email or Slack. The ReportBuilderService renders dashboard panels into report format.