MATIH Platform is in active MVP development. Documentation reflects current implementation status.
19. Observability & Operations
Grafana Dashboards

Grafana Dashboards

MATIH provides pre-built Grafana dashboards for platform monitoring, covering service health, request latency, error rates, provisioning pipelines, and rate limiting. Dashboards are provisioned automatically from JSON files in the monitoring configuration.


Available Dashboards

DashboardFileDescription
Platform Overviewmatih-overview.jsonOverall platform health and request rates
Latency Analysismatih-latency.jsonRequest latency percentiles across services
Error Trackingmatih-errors.jsonError rates, 4xx/5xx breakdowns, error patterns
Provisioningprovisioning-dashboard.jsonTenant provisioning pipeline metrics
Rate Limitingrate-limit-analytics.jsonRate limit hits and client throttling

Platform Overview Dashboard

The overview dashboard provides a single-pane view of platform health:

PanelMetricDescription
Service StatusupGreen/red status for each service
Request Ratematih:http_requests:rate5mRequests per second by service
Error Ratematih:error_rate:5m5xx error rate by service
Active Sessionsmatih_active_sessionsCurrent active user sessions
Pod Resource Usagecontainer_memory_usage_bytesCPU and memory per pod

Latency Dashboard

PanelMetricDescription
p50 Latencyhistogram_quantile(0.5, ...)Median request latency
p95 Latencyhistogram_quantile(0.95, ...)95th percentile latency
p99 Latencyhistogram_quantile(0.99, ...)99th percentile latency
Latency Heatmapmatih_http_request_duration_seconds_bucketRequest duration distribution
Slow EndpointsTop-k by p95Endpoints with highest latency

Provisioning Dashboard

PanelMetricDescription
Active Provisioningsmatih_provisioning_activeCurrently in-progress provisioning operations
Success Ratecompleted / (completed + failed)Provisioning success percentage
Step Durationmatih_provisioning_step_duration_secondsDuration per provisioning step
Failure Breakdownmatih_provisioning_failed_total by stepWhich steps fail most often

Dashboard Provisioning

Dashboards are auto-provisioned by Grafana using configmap volumes:

grafana:
  dashboardProviders:
    dashboardproviders.yaml:
      apiVersion: 1
      providers:
        - name: matih
          orgId: 1
          folder: MATIH
          type: file
          options:
            path: /var/lib/grafana/dashboards/matih
  dashboardsConfigMaps:
    matih: matih-dashboards

Creating Custom Dashboards

  1. Create the dashboard in the Grafana UI
  2. Export the dashboard JSON from Settings > JSON Model
  3. Save the JSON file to infrastructure/monitoring/grafana/dashboards/
  4. Add the file to the ConfigMap for automatic provisioning

Accessing Grafana

# Port forward for local access
kubectl port-forward svc/monitoring-grafana 3000:80 -n matih-monitoring

Default credentials are managed via Kubernetes secrets.