-
Notifications
You must be signed in to change notification settings - Fork 4
PRD-23: Monitoring & Observability #16
Copy link
Copy link
Open
Labels
P1High priorityHigh priorityphase-2Go-live minimumGo-live minimumprdProduct requirement documentProduct requirement document
Description
Add Pino structured JSON logging, Prometheus metrics with signing/DKG/policy histograms, a pre-built Grafana dashboard, and alert rules.
Acceptance Criteria
-
console.logreplaced by Pino structured JSON logging in production - Development mode uses
pino-prettyfor human-readable output -
GET /metricsreturns valid Prometheus exposition format -
guardian_signing_duration_secondshistogram populated after signing -
guardian_signing_requests_totalcounter withpathandstatuslabels -
guardian_active_signing_sessionsgauge reflects in-flight sessions -
guardian_dkg_duration_secondshistogram withmodelabel -
guardian_policy_evaluation_duration_secondshistogram populated -
guardian_policy_violations_totalcounter per policy type -
guardian_vault_healthgauge (1=healthy, 0=sealed/unreachable) -
guardian_http_request_duration_secondshistogram for all requests - Node.js process metrics collected via
collectDefaultMetrics() - Prometheus scrapes every 15s without errors
- Grafana dashboard loads with all panels
- Alert rules fire correctly (e.g.,
VaultUnhealthywithin 1 minute) -
docker compose upstarts Prometheus on :9090 and Grafana on :3001 - No share data in logs, sensitive headers redacted
- Request IDs (
reqId) in all log lines for correlation
Tasks
- Install
prom-client,nestjs-pino,pino,pino-pretty - Create
MetricsService,MetricsController,MetricsInterceptor - Configure Pino logger
- Instrument
InteractiveSignService,DKGService,AuxInfoPoolService - Create
VaultHealthProbewith periodic check - Create Prometheus config, alert rules, Grafana provisioning + dashboard JSON
- Update
docker-compose.ymlwith Prometheus + Grafana services - Unit + integration tests, security audit (no share data in logs)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1High priorityHigh priorityphase-2Go-live minimumGo-live minimumprdProduct requirement documentProduct requirement document