43 lines
2.4 KiB
Markdown
43 lines
2.4 KiB
Markdown
# Monitoring & observability (spec §58)
|
||
|
||
## Mät- och larmpunkter
|
||
|
||
| Signal | Källa | Larmtröskel (initial) |
|
||
| --------------------- | --------------------------------------------- | ------------------------ |
|
||
| API-fel (5xx-andel) | API-loggar (pino) → CloudWatch | > 2 % över 5 min |
|
||
| API-latens p95 | reverse proxy-loggar | > 1 500 ms över 10 min |
|
||
| Workerfel | worker-loggar (`✗`-rader) | > 5 fel / 10 min |
|
||
| Köns längd | `GET /admin/v1/jobs/overview` (queue.waiting) | > 100 väntande i 10 min |
|
||
| Outbox-eftersläp | samma endpoint (outboxPending) | > 500 i 15 min |
|
||
| DB-anslutningar | RDS CloudWatch | > 80 % av max |
|
||
| Redis-minne | Redis INFO | > 80 % av maxmemory |
|
||
| AAMOS-hälsa | `GET /admin/v1/system/health` (aamos.ok) | fel i 3 kontroller i rad |
|
||
| AI-kostnad | scan_jobs.cost_usd summerat per dag | > budgettak per dag |
|
||
| Subscription-webhooks | store_notifications (processed=false ålder) | äldst > 30 min |
|
||
| Sync-konflikter | app-telemetri (senare fas) | – |
|
||
| Abuse | rate limit-träffar per IP | manuell granskning |
|
||
|
||
## Correlation ID
|
||
|
||
Varje request får/vidarebefordrar `x-correlation-id` (spec §58). ID:t följer med i:
|
||
API-loggar → jobbdata → AAMOS-anrop (`metadata.correlationId`) → audit logs.
|
||
Sök på ID:t i loggarna för att följa ett flöde genom hela systemet.
|
||
|
||
## Healthchecks
|
||
|
||
- `GET /healthz` – liveness (alltid 200 när processen lever)
|
||
- `GET /readyz` – readiness (DB-ping; 503 vid fel)
|
||
- Docker HEALTHCHECK på API-containern
|
||
- `GET /admin/v1/system/health` – DB, Redis, AAMOS, connectors (admin-token)
|
||
|
||
## Steg 1-implementation (befintlig server)
|
||
|
||
1. CloudWatch Agent läser Docker json-file-loggar under `/var/lib/docker/containers`.
|
||
2. Metric filters på `"level":50` (error) och `✗`-rader → larm till befintlig SNS-kanal.
|
||
3. Cron-jobb kör `curl /readyz` varje minut → larm efter 3 fel.
|
||
|
||
## Steg 3 (egen VPC/ECS)
|
||
|
||
CloudWatch Container Insights + RDS Performance Insights + strukturerade loggar
|
||
till CloudWatch Logs Insights. Dashboards definieras som kod i denna katalog.
|