executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
write-incident-runbookStrukturierte Incident-Runbooks mit Diagnoseschritten, Loesungsverfahren, Eskalationspfaden und Kommunikationsvorlagen fuer eine effektive Incident-Reaktion erstellen. Verwenden, wenn Reaktionsverfahren fuer wiederkehrende Alerts dokumentiert werden, die Incident- Reaktion innerhalb einer On-Call-Rotation standardisiert wird, die MTTR mit klaren Diagnosesch…
Independent GitHub snapshot · Automated classification · Original documentation governs
Handlungsorientierte Runbooks erstellen, die Responder durch Incident-Diagnose und -Loesung fuehren.
Unter Extended Examples sind vollstaendige Template-Dateien verfuegbar.
Ein passendes Template basierend auf Incident-Typ und Komplexitaet auswaehlen.
Grundlegende Runbook-Template-Struktur:
# [Alert/Incident Name] Runbook
## Overview | Severity | Symptoms
## Diagnostic Steps | Resolution Steps
## Escalation | Communication | Prevention | Related
Erweitertes SRE-Runbook-Template (Auszug):
# [Service Name] - [Incident Type] Runbook
## Metadata
- Service, Owner, Severity, On-Call, Last Updated
## Diagnostic Phase
### Quick Health Check (< 5 min): Dashboard, error rate, deployments
### Detailed Investigation (5-20 min): Metrics, logs, traces, failure patterns
# ... (see EXAMPLES.md for complete template)
Wichtige Template-Komponenten:
Erwartet: Ausgewaehltes Template entspricht der Incident-Komplexitaet, Abschnitte sind fuer den Service-Typ angemessen.
Bei Fehler:
Unter Extended Examples sind vollstaendige Diagnoseabfragen und Entscheidungsbaeume verfuegbar.
Schrittweise Untersuchungsverfahren mit spezifischen Abfragen erstellen.
Sechsstufige Diagnose-Checkliste:
Service-Gesundheit pruefen: Gesundheitsendpunkt-Pruefungen und Uptime-Metriken
curl -I https://api.example.com/health # Expected: HTTP 200 OK
up{job="api-service"} # Expected: 1 for all instances
Fehlerrate pruefen: Aktuelle Fehlerprozentzahl und Aufschluesselung nach Endpunkt
sum(rate(http_requests_total{status=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m])) * 100 # Expected: < 1%
Logs analysieren: Aktuelle Fehler und haeufigste Fehlermeldungen aus Loki
{job="api-service"} |= "error" | json | level="error"
Ressourcenauslastung pruefen: CPU, Arbeitsspeicher und Verbindungspool-Status
avg(rate(container_cpu_usage_seconds_total{pod=~"api-service.*"}[5m])) * 100
# Expected: < 70%
Aktuelle Aenderungen pruefen: Deployments, Git-Commits, Infrastrukturanpassungen
Abhaengigkeiten untersuchen: Downstream-Service-Gesundheit, Datenbank-/API-Latenz
Fehlermuster-Entscheidungsbaum (Auszug):
Erwartet: Diagnoseverfahren sind spezifisch, enthalten erwartete vs. tatsaechliche Werte, fuehren Responder durch die Untersuchung.
Bei Fehler:
Unter Extended Examples sind alle 5 Loesungsoptionen mit vollstaendigen Befehlen und Rollback-Verfahren verfuegbar.
Schrittweise Behebung mit Rollback-Optionen dokumentieren.
Fuenf Loesungsoptionen (kurze Zusammenfassung):
Rollback eines Deployments (am schnellsten): Bei Fehlern nach dem Deployment
kubectl rollout undo deployment/api-service
Verifizieren → Ueberwachen → Loesungsbestaetigung (Fehlerrate < 1%, Latenz normal, keine Alerts)
Ressourcen hochskalieren: Bei hoher CPU/Arbeitsspeicher, Verbindungspool-Erschoepfung
kubectl scale deployment/api-service --replicas=$((current * 3/2))
Service neustarten: Bei Speicherlecks, haengenden Verbindungen, Cache-Beschaedigung
kubectl rollout restart deployment/api-service
Feature Flag / Circuit Breaker: Bei spezifischen Feature-Fehlern oder externen Abhaengigkeitsausfaellen
kubectl set env deployment/api-service FEATURE_NAME=false
Datenbank-Behebung: Bei Datenbankverbindungen, langsamen Abfragen, Pool-Erschoepfung
-- Kill long-running queries, restart connection pool, increase pool size
Universelle Verifikations-Checkliste:
Rollback-Verfahren: Wenn Loesung die Situation verschlechtert → pausieren/abbrechen → rueckgaengig machen → neu bewerten
Erwartet: Loesungsschritte klar, enthalten Verifikationspruefungen, bieten Rollback-Optionen fuer jede Aktion.
Bei Fehler:
Unter Extended Examples sind vollstaendige Eskalationsstufen und Kontaktverzeichnis-Vorlage verfuegbar.
Festlegen, wann und wie Incidents eskaliert werden.
Wann sofort eskalieren:
Fuenf Eskalationsstufen:
Eskalationsprozess:
Kontaktverzeichnis: Tabelle mit Rolle, Slack, Telefon, PagerDuty fuer:
Erwartet: Klare Eskalationskriterien, Kontaktinformationen leicht zugaenglich, Eskalationspfade entsprechen der Organisationsstruktur.
Bei Fehler:
Unter Extended Examples sind alle internen und externen Vorlagen mit vollstaendiger Formatierung verfuegbar.
Vorgefertigte Nachrichten fuer Incident-Updates bereitstellen.
Interne Vorlagen (Slack #incident-response):
Ersterklaerung:
🚨 INCIDENT: [Title] | Severity: [Critical/High/Medium]
Impact: [users/services] | Owner: @username | Dashboard: [link]
Quick Summary: [1-2 sentences] | Next update: 15 min
Fortschrittsupdate (alle 15-30 Min.):
📊 UPDATE #N | Status: [Investigating/Mitigating/Monitoring]
Actions: [what we tried and outcomes]
Theory: [what we think is happening]
Next: [planned actions]
Schadensbegrenzung abgeschlossen:
✅ MITIGATION | Metrics: Error [before→after], Latency [before→after]
Root Cause: [brief or "investigating"] | Monitoring 30min before resolved
Loesungsbekanntmachung:
🎉 RESOLVED | Duration: [time] | Root Cause + Impact + Follow-up actions
Fehlalarm: Keine Auswirkungen, kein Follow-up erforderlich
Externe Vorlagen (Statusseite):
Kunden-E-Mail-Vorlage: Timeline, Auswirkungsbeschreibung, Loesung, Praevention, Entschaedigung (falls zutreffend)
Erwartet: Vorlagen sparen Zeit waehrend Incidents, gewaehrleisten konsistente Kommunikation, reduzieren kognitive Belastung der Responder.
Bei Fehler:
Unter Extended Examples sind vollstaendige Prometheus-Alert-Konfigurationen und Grafana-Dashboard-JSON verfuegbar.
Runbook mit Alerts und Dashboards integrieren.
Runbook-Links zu Prometheus-Alerts hinzufuegen:
- alert: HighErrorRate
annotations:
runbook_url: "https://wiki.example.com/runbooks/high-error-rate"
dashboard_url: "https://grafana.example.com/d/service-overview"
incident_channel: "#incident-platform"
Schnelle Diagnose-Links im Runbook einbetten:
Grafana-Dashboard-Panel erstellen mit Runbook-Links (Markdown-Panel, der alle Incident-Runbooks mit On-Call- und Eskalationsinformationen auflistet)
Erwartet: Responder koennen Runbooks direkt aus Alerts oder Dashboards aufrufen, Diagnoseabfragen sind vorab ausgefuellt, Ein-Klick-Zugriff auf relevante Tools.
Bei Fehler:
configure-alerting-rules - Runbooks mit Alert-Annotationen verknuepfen fuer sofortigen Zugriff waehrend Incidentsbuild-grafana-dashboards - Runbook-Links in Dashboards und Diagnose-Panels einbettensetup-prometheus-monitoring - Diagnoseabfragen aus Prometheus in Runbook-Verfahren einschliessendefine-slo-sli-sla - SLO-Auswirkungen in die Incident-Schweregrad-Klassifizierung einbeziehen