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
| Dashboard | File | Description |
|---|---|---|
| Platform Overview | matih-overview.json | Overall platform health and request rates |
| Latency Analysis | matih-latency.json | Request latency percentiles across services |
| Error Tracking | matih-errors.json | Error rates, 4xx/5xx breakdowns, error patterns |
| Provisioning | provisioning-dashboard.json | Tenant provisioning pipeline metrics |
| Rate Limiting | rate-limit-analytics.json | Rate limit hits and client throttling |
Platform Overview Dashboard
The overview dashboard provides a single-pane view of platform health:
| Panel | Metric | Description |
|---|---|---|
| Service Status | up | Green/red status for each service |
| Request Rate | matih:http_requests:rate5m | Requests per second by service |
| Error Rate | matih:error_rate:5m | 5xx error rate by service |
| Active Sessions | matih_active_sessions | Current active user sessions |
| Pod Resource Usage | container_memory_usage_bytes | CPU and memory per pod |
Latency Dashboard
| Panel | Metric | Description |
|---|---|---|
| p50 Latency | histogram_quantile(0.5, ...) | Median request latency |
| p95 Latency | histogram_quantile(0.95, ...) | 95th percentile latency |
| p99 Latency | histogram_quantile(0.99, ...) | 99th percentile latency |
| Latency Heatmap | matih_http_request_duration_seconds_bucket | Request duration distribution |
| Slow Endpoints | Top-k by p95 | Endpoints with highest latency |
Provisioning Dashboard
| Panel | Metric | Description |
|---|---|---|
| Active Provisionings | matih_provisioning_active | Currently in-progress provisioning operations |
| Success Rate | completed / (completed + failed) | Provisioning success percentage |
| Step Duration | matih_provisioning_step_duration_seconds | Duration per provisioning step |
| Failure Breakdown | matih_provisioning_failed_total by step | Which 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-dashboardsCreating Custom Dashboards
- Create the dashboard in the Grafana UI
- Export the dashboard JSON from Settings > JSON Model
- Save the JSON file to
infrastructure/monitoring/grafana/dashboards/ - 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-monitoringDefault credentials are managed via Kubernetes secrets.