Monitoring & Alerting
Executive Overview — all summaries for decision-makers.
Status: Noch einzurichten (manuell in externen Diensten)
Empfohlene Stack (kostengünstig)
| Zweck | Tool | Kosten |
|---|---|---|
| Uptime | Better Stack oder UptimeRobot | Free Tier |
| Errors | Sentry | Free Tier |
| Logs | Render Dashboard | inkl. |
| Cron | Render Cron Job | inkl. |
Uptime Checks
| URL | Intervall | Alert |
|---|---|---|
https://api.mqa.group/health | 1 min | E-Mail + Slack |
https://portal.mqa.group/login | 5 min | |
https://api.mqa.group/api/auth/status | 5 min |
Header für auth/status: nicht nötig (public endpoint).
Render Alerts
Dashboard → Service → Notifications:
- Deploy failed
- Instance unhealthy
- OOM / restart loop
Sentry Integration (TODO)
Backend
bash
npm install @sentry/node --saveEnv: SENTRY_DSN (Render Secret)
Frontend
bash
npm install @sentry/react --saveEnv: VITE_SENTRY_DSN (nur DSN, kein Secret)
Log-Retention
Render Free/Standard: begrenzte Retention. Für Audit:
- Wichtige Security-Events bereits in DB (
AuditLog) - Export monatlich für Compliance-Archiv (optional)
On-Call (Vorschlag)
| Severity | Reaktionszeit | Kanal |
|---|---|---|
| Portal down | 1h | Telefon + E-Mail |
| Degraded (slow) | 4h | |
| Security incident | sofort | Lead Dev + MQA IT |
Runbook: BACKUP-RESTORE-RUNBOOK
Metriken beobachten
Render Dashboard → Metrics:
- CPU / Memory Backend
- HTTP Latency p95
- Postgres Connections
Bei AI-Features: Anthropic/OpenRouter Usage Dashboard separat.