Admin Dashboard — Observability
Status: populated Owner: Platform Engineering (Frontend) Last updated: 2026-04-18
1. Logging
Structured JSON via pino in the Next.js server runtime.
Log Format
{
"time": "2026-04-18T12:00:00.000Z",
"level": "info",
"service": "admin-dashboard",
"requestId": "req_01H...",
"adminUserId": "usr_01H...",
"method": "DELETE",
"path": "/api/operators/op_01H...",
"status": 204,
"durationMs": 87
}
Admin user ID is included in all log lines for audit traceability. JWTs, passwords, and SMPP credentials are never logged.
2. Metrics
GET /api/health for Kubernetes probes.
| Metric | Type | Labels |
|---|---|---|
admin_request_total | Counter | method, path, status |
admin_request_duration_ms | Histogram | method, path |
admin_poll_total | Counter | target, result |
admin_upstream_error_total | Counter | upstream, status |
admin_auth_refresh_total | Counter | result |
3. Error Tracking
Sentry with:
beforeSendhook stripsAuthorizationheaders, cookie values, SMPP passwords.- Admin user ID attached to Sentry scope for all events (non-PII for internal users).
4. Dashboard Polling Observability
The admin_poll_total counter tracks each 30-second poll cycle:
result=success: metrics data returned and rendered.result=stale: upstream returned 304 or data unchanged.result=error: upstream returned non-2xx; stale data left in place.
5. Alerting
| Alert | Condition | Severity |
|---|---|---|
AdminDashboardHighErrorRate | admin_upstream_error_total{status=~"5.."} > 3/min for 3 min | warning |
AdminDashboardPollFailureSpike | admin_poll_total{result="error"} > 5 consecutive | warning |
AdminDashboardAuthFailure | admin_auth_refresh_total{result="failure"} > 3/min | critical |
AdminDashboardPodNotReady | Readiness probe failing > 2 min | critical |
6. Distributed Tracing
OpenTelemetry traces emitted from server component fetch calls. X-Admin-User-Id propagated to Kong and upstream services for end-to-end trace correlation. Admin traces are stored with higher retention (30 days vs. 7 days for customer traces) for audit purposes.