Runbook: Incident Response
Prioritizace
| Severity | Popis | Reakce |
|---|---|---|
| P0 | Produkce nefunguje | Okamžitě — rollback + eskalace |
| P1 | Degradovaný výkon / částečný výpadek | Do 15 min — diagnostika |
| P2 | Staging problém | Do 1h |
Postup
1. Detekce
- Health check selhal
- Alert z Argus (Prometheus/Grafana)
- Hlášení od uživatele / agenta
2. Diagnostika
# Kontrola kontejnerů
ssh root@<server> "docker ps -a"
ssh root@<server> "docker compose -f /opt/<projekt>/docker-compose.yml logs --tail=100"
# Kontrola zdrojů
ssh root@<server> "df -h && free -h && docker stats --no-stream"
3. Reakce
- Kontejner spadl → restart:
docker compose up -d - Opakovaný pád → rollback (viz Rollback)
- Disk plný → vyčistit logy:
docker system prune - DB nedostupná → zkontrolovat DO Managed DB status
4. Komunikace
# Nahlásit PM
curl -s -X POST "$RELAY_URL/api/messages" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $RELAY_KEY" \
-d '{"to":"pm","type":"ALERT","subject":"INCIDENT: <popis>","body":"<detaily>","from":"sentinel"}'
5. Post-mortem
Po vyřešení zapsat: - Co se stalo - Proč se to stalo - Co jsme udělali - Jak tomu předejít