Lexikon · R

Runbook

Eine dokumentierte Schritt-für-Schritt-Anleitung zur Diagnose und Behebung eines bekannten Betriebsproblems oder Routinevorgangs.

Von Obseria-RedaktionAktualisiert

Definition

Ein Runbook ist eine dokumentierte Anleitung, die Engineers in der Rufbereitschaft oder einem Automatisierungssystem zeigt, wie ein bestimmtes Betriebsproblem diagnostiziert und behoben oder eine Routineaufgabe wie ein Failover ausgeführt wird. Gute Runbooks sind direkt mit Alerts verknüpft, enthalten überprüfbare Schritte mit erwarteten Ergebnissen und werden schrittweise automatisiert.

Was ist ein Runbook?

Ein Runbook ist eine schriftliche, wiederholbare Anleitung für eine bekannte Situation: eine volllaufende Festplatte, eine sich stauende Queue, ein bald ablaufendes Zertifikat, ein Datenbank-Failover. Es hält das Wissen der Engineers fest, die einen Service gebaut haben und betreiben. So kann jede Person in der Rufbereitschaft auch um drei Uhr nachts schnell und einheitlich handeln, ohne das System unter Druck erst verstehen zu müssen.

Runbooks verkürzen die Zeit bis zur Eindämmung, einen wesentlichen Treiber der MTTR, und verteilen Betriebswissen im Team. Sie machen außerdem Toil sichtbar: Jedes Runbook, das häufig und Schritt für Schritt identisch ausgeführt wird, ist ein Kandidat für Automatisierung.

Runbook vs. Playbook

Die Begriffe werden oft synonym verwendet, viele Organisationen unterscheiden sie aber:

AspektRunbookPlaybook
UmfangEine konkrete technische Aufgabe oder ein FehlerbildEin übergreifender Reaktionsprozess, etwa bei einem Major Incident oder Sicherheitsvorfall
InhaltKonkrete Befehle, Abfragen, Prüfungen und erwartete ErgebnisseRollen, Kommunikation, Eskalationswege und Entscheidungspunkte
Typischer AuslöserEin bestimmter AlertEin Schweregrad oder Incident-Typ

Ein Playbook verweist häufig auf mehrere Runbooks: Das Major-Incident-Playbook legt fest, wer Incident Commander ist, das Datenbank-Runbook erklärt, wie ein Replikat zum Primary befördert wird.

Was ein gutes Runbook enthält

  1. Titel und Auslöser: welcher Alert oder welches Symptom adressiert wird.
  2. Auswirkung und Dringlichkeit: was Nutzer erleben und wie schnell gehandelt werden muss.
  3. Diagnose: Links zu den passenden Dashboards und Abfragen sowie wie sich die Hypothese bestätigen lässt.
  4. Schritte zur Eindämmung: nummerierte, kopierbare Aktionen, jeweils mit erwartetem Ergebnis und Prüfung.
  5. Rollback: wie sich jeder Schritt rückgängig machen lässt, falls er die Lage verschlechtert.
  6. Eskalation: wann Sie abbrechen und wen Sie hinzuziehen, inklusive Service-Verantwortlichen und Anbietern.
  7. Metadaten: verantwortliche Person, Datum der letzten Prüfung und Links zu zugehörigen Postmortems.

Beispiel-Runbook

Ein Runbook zur Veranschaulichung für einen Alert zur Verbindungssättigung in PostgreSQL:

Alert: orders-db Verbindungen > 90 % von max_connections seit 5 Min.
Auswirkung: Checkout-Requests laufen in Timeouts, sobald das Limit erreicht ist

1. Bestätigen: Dashboard "orders-db" öffnen; aktive vs. inaktive
   Verbindungen prüfen und welche Services sie halten.
2. Lang laufende Sessions finden:
   SELECT pid, state, now() - xact_start AS age, query
   FROM pg_stat_activity ORDER BY age DESC LIMIT 20;
3. Hält ein Service die meisten "idle in transaction"-Sessions,
   seine Pods einzeln neu starten und die Verbindungszahl beobachten.
   Erwartet: Wert sinkt binnen 2 Minuten unter 70 %.
4. Hat ein aktuelles Deployment Pool-Einstellungen geändert: Rollback.
5. An das Datenbank-Team eskalieren, wenn die Sättigung nach
   15 Minuten anhält oder der Replikations-Lag 30 s übersteigt.

Jeder Schritt sagt, worauf Sie schauen, was Sie tun und wie „gut“ aussieht. Die Schwellenwerte sind Beispiele; verwenden Sie die Werte, die zu Ihrem System passen.

Von der Dokumentation zur Automatisierung

Runbook-Automatisierung macht die sicheren, deterministischen Teile einer Anleitung zu Code, der auf Abruf oder als Reaktion auf einen Alert läuft: Diagnosedaten sammeln, ein Deployment skalieren, Zugangsdaten rotieren, einen hängenden Consumer neu starten. Bewährt hat sich ein schrittweises Vorgehen:

  • Manuell: schriftliche Schritte, denen ein Mensch folgt.
  • Assistiert: Skripte sammeln Kontext und schlagen den nächsten Schritt vor, ein Mensch gibt frei.
  • Automatisiert: Der Workflow läuft in gut verstandenen Fällen selbstständig, mit Leitplanken, Ratenbegrenzung und Audit-Trail.

Halten Sie Entscheidungspunkte explizit. Automatisierung, die Services blind neu startet, kann ein echtes Problem verdecken oder verstärken, etwa wenn alle Pods gleichzeitig neu starten. Kombinieren Sie automatische Behebung mit Health Checks, die prüfen, ob die Maßnahme gewirkt hat.

Best Practices und typische Fehler

  • Verknüpfen Sie jeden Alert, der jemanden weckt, mit einem Runbook. Ein Alert ohne Runbook ist ein Kandidat zum Löschen und eine Quelle von Alarmmüdigkeit.
  • Legen Sie Runbooks neben dem Code oder in einem durchsuchbaren Wiki mit Versionshistorie ab und überarbeiten Sie sie nach jedem Incident, in dem sie genutzt wurden.
  • Testen Sie Runbooks in Game Days; Schritte, die nur auf dem Laptop des Autors funktionieren, versagen genau dann, wenn es darauf ankommt.
  • Vermeiden Sie vage Anweisungen wie „Logs prüfen“. Nennen Sie Abfrage, Feld und erwarteten Wert.
  • Lassen Sie Runbooks nicht veralten: Falsche Hostnamen oder Befehle sind schlimmer als gar keine, weil sie Zeit und Vertrauen kosten.

Wie Obseria unterstützt

In Obseria können Alerts einen Runbook-Link und die relevanten Dashboards mitführen, sodass Einsatzkräfte sofort im richtigen Kontext landen. Mit Obseria Automation setzen Sie die deterministischen Schritte eines Runbooks als Workflows as Code um, ausgelöst durch Alerts oder auf Abruf, wobei jede Aktion für das Postmortem protokolliert wird.

Häufig gestellte Fragen

Ein Runbook beschreibt die konkreten Schritte für eine technische Aufgabe oder ein Fehlerbild, etwa ein Datenbank-Failover. Ein Playbook beschreibt einen übergreifenden Reaktionsprozess mit Rollen, Kommunikation und Eskalation und verweist oft auf mehrere Runbooks.

Runbook-Automatisierung setzt die sicheren, wiederholbaren Schritte eines Runbooks als Code um, zum Beispiel das Sammeln von Diagnosedaten oder das Skalieren eines Services. Diese Schritte laufen auf Abruf oder beim Auslösen eines Alerts. Das reduziert Toil und Reaktionszeit, erfordert aber Leitplanken und Verifikation.

An einem Ort, den die Rufbereitschaft auch während eines Ausfalls erreicht, mit Versionshistorie und Suche: in einem Repository neben dem Service-Code oder in einem Wiki. Wichtiger als der Ablageort ist die direkte Verlinkung aus dem jeweiligen Alert.

Nach jedem Incident, in dem ein Runbook genutzt wurde, und zusätzlich regelmäßig, etwa quartalsweise. Jedes Runbook sollte Verantwortliche und Datum der letzten Prüfung enthalten, damit veraltete Inhalte schnell auffallen.

Setzen Sie das Wissen in die Praxis um

Testen Sie Obseria 14 Tage kostenlos, mit OpenTelemetry und ohne proprietäre Agenten.