MATIH Platform is in active MVP development. Documentation reflects current implementation status.
8. Platform Services
Dashboards

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

TemplateDescription
service-overviewRequest rates, error rates, latency for all services
infrastructureCPU, memory, disk, network utilization
databaseQuery performance, connection pools, replication lag
api-performanceAPI endpoint response times and error breakdowns
securityAuthentication events, access denials, rate limits
costResource cost tracking and budget utilization

DashboardTemplate Structure

FieldTypeDescription
idStringTemplate identifier
nameStringDisplay name
descriptionStringTemplate description
categoryStringTemplate category
panelsListPanel configurations (queries, visualization type)
variablesListDashboard variables (service, time range)
refreshIntervalStringAuto-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

FieldTypeDescription
idStringDashboard identifier
nameStringDashboard name
metricsListList of real-time metric streams
refreshIntervalMslongUpdate interval in milliseconds

RealtimeMetric Structure

FieldTypeDescription
nameStringMetric name
queryStringPromQL query
currentValuedoubleLatest value
trendStringup, down, stable
timestampInstantLast 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.