Observability
:::info Source
Sourced from services/enrollment-service/OBSERVABILITY.md in the documentation repo.
:::
1. Logs
Events: enrollment.created, .completed, .expired, .revoked, .accessed, enrollment.bulk.started|completed|failed, enrollment.ABAC.denied.
2. Metrics
RED
enrollment_api_requests_total{endpoint,status}counterenrollment_api_duration_seconds{endpoint}histogram
Domain
enrollment_created_total{source_kind}counterenrollment_state_transitions_total{from,to}counterenrollment_activegauge (per tenant)enrollment_bulk_duration_secondshistogramenrollment_expiration_rategauge
3. Traces
Spans: enrollment.create, enrollment.complete, enrollment.revoke, enrollment.bulk.insert.
4. Dashboards
- Enrollment funnel (created → active → completed).
- Source distribution.
- Expiration + revocation rates.
5. Alerts
| Alert | Threshold | Severity |
|---|---|---|
| enrollment-create-failure | > 1% | P2 |
| stuck-expiration-job | no runs in 24h | P2 |
| bulk-enrollment-failure | > 5% | P2 |
6. SLOs
| SLI | Target |
|---|---|
| Create p95 | < 500ms |
| Completion event latency | < 5s |
| API availability | 99.99% |