Initial commit (unpacked platform)

This commit is contained in:
Sven (AAMOS AI)
2026-08-05 19:21:11 +07:00
commit ac5340195a
314 changed files with 57584 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
# 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.