Skip to content

Playbooks

Playbooks sind mehrstufige Workflows, die mehrere Scripts und Tasks nacheinander auf Hosts ausfuehren. Typischer Anwendungsfall: Wartungsfenster mit Snapshot, Update, Reboot und Health-Check als aufeinanderfolgende Schritte.

Konzept

Ein Playbook besteht aus:

  1. Definition - Name, Beschreibung und Ziel-Modul
  2. Steps - Geordnete Liste von Aktionen (Script, Task oder Wartezeit)
  3. Fehlerbehandlung - Pro Step konfigurierbar (Abbrechen oder Weiter)

Step-Typen

TypBeschreibungKonfiguration
ScriptEin Script aus der Bibliothek ausfuehrenScript-Auswahl, optionaler Timeout
TaskSystemaufgabe ausfuehren (Update, Reboot, etc.)Task-Typ + Parameter
WartezeitPause zwischen StepsDauer in Sekunden
Wake on LANMagic Packet an einen Host sendenAutomatische MAC + Proxy-Erkennung
Online pruefenWarten bis ein Host online istTimeout + Poll-Intervall
VM SnapshotPVE-Snapshot einer VM erstellenVMID + Snapshot-Name
WebhookHTTP-Request an eine URL sendenURL, Methode, Body, Headers

Fehlerbehandlung (On-Error)

Fuer jeden Step kann festgelegt werden, was bei einem Fehler passiert:

OptionVerhalten
stopPlaybook wird sofort gestoppt (Standard)
continueNaechster Step wird trotz Fehler ausgefuehrt

Timeout pro Step

Jeder Step kann einen individuellen Timeout haben (Standard: 300 Sekunden). Wird der Timeout ueberschritten, gilt der Step als fehlgeschlagen und die konfigurierte Fehlerbehandlung greift.

Verfuegbare Task-Typen

Die folgenden Task-Typen stehen fuer Playbook-Steps vom Typ "Task" zur Verfuegung:

Allgemein (alle Module)

Task-TypBeschreibung
AGENT_UPDATEAgent auf die neueste Version aktualisieren
RUN_SCRIPTEin Script aus der Bibliothek ausfuehren
REBOOTSystem neustarten

OPNsense

Task-TypBeschreibung
system_updateOPNsense-Firmware-Update
update_rebootFirmware-Update mit Neustart
OPN_REBOOTOPNsense neustarten
OPN_UPGRADE_CHECKMajor-Upgrade-Verfuegbarkeit pruefen
OPN_MAJOR_UPGRADEMajor-Upgrade durchfuehren
BACKUPKonfigurations-Backup erstellen
SYNC_CONFIGHA-Konfiguration synchronisieren

Proxmox VE

Task-TypBeschreibung
PVE_UPDATEPaket-Update (apt dist-upgrade)
PVE_REBOOTPVE-Host neustarten
PVE_UPGRADE_CHECKMajor-Upgrade-Verfuegbarkeit pruefen
PVE_MAJOR_UPGRADEMajor-Upgrade durchfuehren
PVE_VM_STARTVM starten
PVE_VM_STOPVM stoppen (hart)
PVE_VM_SHUTDOWNVM herunterfahren (ACPI)
PVE_VM_REBOOTVM neustarten
PVE_SNAPSHOTVM-Snapshot erstellen
PVE_SNAPSHOT_DELETEVM-Snapshot loeschen

Proxmox Backup Server

Task-TypBeschreibung
PBS_UPDATEPaket-Update (apt dist-upgrade)
PBS_REBOOTPBS-Host neustarten
PBS_UPGRADE_CHECKMajor-Upgrade-Verfuegbarkeit pruefen
PBS_MAJOR_UPGRADEMajor-Upgrade durchfuehren
PBS_GCGarbage Collection auf Datastore
PBS_VERIFYBackup-Integritaet pruefen
PBS_PRUNEAlte Backups bereinigen
PBS_SYNCDatastore synchronisieren

Linux

Task-TypBeschreibung
LINUX_UPDATEPaket-Update (apt upgrade / dnf upgrade)

Windows

Task-TypBeschreibung
WINDOWS_UPDATEWindows Updates installieren

Webhook Step

Der Step-Typ Webhook sendet einen HTTP-Request an eine beliebige URL. Damit koennen externe Systeme wie DATAZONE Connect, Slack, Teams oder andere REST-APIs angesteuert werden.

FeldBeschreibungStandard
URLZiel-URL des HTTP-Requests-
MethodeHTTP-Methode (GET, POST, PUT, DELETE)POST
BodyRequest-Body (JSON) mit Platzhaltern-
HeadersHTTP-Headers (z.B. Content-Type)-
TimeoutMaximale Wartezeit in Sekunden30s
Success CodesErwartete HTTP-Statuscodes2xx

Variablen-Platzhalter

Im Body und in der URL koennen folgende Platzhalter verwendet werden, die automatisch mit den Daten des aktuellen Hosts ersetzt werden:

PlatzhalterBeschreibung
{hostname}Hostname des Ziel-Hosts
{ip}IP-Adresse des Hosts
{module}Modultyp (linux, windows, opnsense, etc.)
{host_id}Host-ID in DATAZONE Control
{customer_name}Kundenname
{customer_number}Kundennummer
{playbook_name}Name des Playbooks
{step_number}Aktuelle Step-Nummer
{date}Aktuelles Datum (YYYY-MM-DD)

Connect-Integration

Webhook-Steps eignen sich ideal fuer die Anbindung an DATAZONE Connect. Damit koennen z.B. automatisch Taetigkeitsnachweise in Nuclos erstellt oder Teams-Benachrichtigungen gesendet werden.

Playbooks verwalten

Die Playbook-Verwaltung erreichen Sie ueber den Navigationspunkt Playbooks.

Playbook erstellen

  1. Klicken Sie auf Playbook erstellen
  2. Konfigurieren Sie das Playbook:
FeldBeschreibung
NameEindeutiger Name des Playbooks
BeschreibungZweck und Ablauf
ModulFuer welches Modul (oder alle)
AktivOb das Playbook ausfuehrbar ist

Steps konfigurieren

Im Step-Editor koennen Sie Steps hinzufuegen, bearbeiten und per Drag-and-Drop umsortieren:

  1. Klicken Sie auf Step hinzufuegen
  2. Waehlen Sie den Step-Typ (Script / Task / Wartezeit)
  3. Konfigurieren Sie den Step:
    • Script: Waehlen Sie ein Script aus der Bibliothek (gefiltert nach Playbook-Modul)
    • Task: Waehlen Sie einen Task-Typ aus der Liste (siehe oben)
    • Wartezeit: Geben Sie die Pause in Sekunden ein
  4. Legen Sie das Fehlerverhalten fest (stop / continue)
  5. Optional: Timeout pro Step definieren (Standard: 300 Sekunden)

Reihenfolge aendern

Steps koennen per Drag-and-Drop oder ueber die Pfeil-Buttons umsortiert werden. Die Step-Nummern werden automatisch angepasst.

Abweichendes Ziel (Per-Step Target)

Standardmaessig werden alle Steps auf dem Host ausgefuehrt, fuer den das Playbook gestartet wurde. Mit der Option Abweichendes Ziel kann ein Step auf einem anderen Host oder sogar einem anderen Modul ausgefuehrt werden.

Das ist besonders nuetzlich fuer Cross-Module-Workflows:

  • WoL an einen Windows-Host senden, der auf dem PVE-Host als VM laeuft
  • Snapshot auf dem PVE-Host erstellen, bevor der Windows-Host aktualisiert wird
  • Online pruefen eines anderen Hosts nach dem WoL-Paket

Aktivieren Sie die Checkbox Abweichendes Ziel im Step-Editor, um Modul und Host zu waehlen.

VM Snapshot Step

Der Step-Typ VM Snapshot erstellt einen Snapshot einer virtuellen Maschine auf einem PVE-Host:

FeldBeschreibung
VMIDID der virtuellen Maschine (z.B. 100)
Snapshot-NameName des Snapshots, {date} wird durch Datum ersetzt
RAM einbeziehenVM-Speicher in den Snapshot einbeziehen

Platzhalter

Der Snapshot-Name unterstuetzt den Platzhalter {date}, der automatisch durch das aktuelle Datum im Format YYYYMMDD-HHMMSS ersetzt wird. Beispiel: playbook-{date} wird zu playbook-20260213-030000.

Online-Pruefung Step

Der Step-Typ Online pruefen wartet, bis ein Host online ist (z.B. nach einem WoL-Paket oder Reboot):

FeldBeschreibungStandard
TimeoutMaximale Wartezeit in Sekunden300s

Der Step prueft alle 10 Sekunden, ob der Host erreichbar ist. Wenn der Timeout ablaeuft, wird der konfigurierte Fehlerbehandlungsmodus angewendet.

Playbook ausfuehren

Ueber die Playbook-Verwaltung

  1. Oeffnen Sie das Playbook in der Liste
  2. Klicken Sie auf Ausfuehren
  3. Waehlen Sie das Ziel-Modul und die Hosts
  4. Bestaetigen Sie die Ausfuehrung

Ueber das Kontextmenue

  1. Rechtsklick auf einen Host in der Host-Tabelle
  2. Waehlen Sie Playbook ausfuehren
  3. Waehlen Sie das gewuenschte Playbook aus dem Untermenue

Ueber Zeitplaene (Jobs)

Playbooks koennen als geplante Aktion in Update-Zeitplaenen konfiguriert werden:

  1. Erstellen Sie einen neuen Job unter Jobs
  2. Waehlen Sie als Aktionstyp Playbook
  3. Waehlen Sie das Playbook aus der Dropdown-Liste
  4. Konfigurieren Sie Zeitplan und Ziel-Hosts

Ausfuehrung ueberwachen

Laufende Ausfuehrungen

Unter Playbooks > Tab Ausfuehrungen sehen Sie alle laufenden und abgeschlossenen Ausfuehrungen:

SpalteBeschreibung
PlaybookName des ausgefuehrten Playbooks
HostZiel-Host
StatusRunning, Success, Failed oder Stopped
Aktueller StepWelcher Step gerade ausgefuehrt wird
FortschrittVisueller Fortschrittsbalken
GestartetStartzeit der Ausfuehrung

Step-Ergebnisse

Klicken Sie auf eine Ausfuehrung, um die Detail-Ansicht zu oeffnen:

  • Jeder Step wird mit Status-Badge angezeigt (Erfolg / Fehler / Laufend / Uebersprungen)
  • Ausgabe und Dauer pro Step
  • Bei Fehlern: Welche On-Error-Aktion ausgefuehrt wurde

Ausfuehrung stoppen

Laufende Ausfuehrungen koennen jederzeit gestoppt werden:

  1. Oeffnen Sie die Ausfuehrung
  2. Klicken Sie auf Stoppen
  3. Der aktuelle Step wird noch abgeschlossen, danach stoppt das Playbook

Beispiele

PVE Wartungsfenster

Ein typisches Playbook fuer Proxmox VE Wartung:

StepTypAktionBei FehlerTimeout
1ScriptVM Snapshots erstellenstop600s
2TaskPVE_UPDATEcontinue1800s
3Wartezeit30 Sekunden warten--
4ScriptHealth-Checkcontinue120s
5TaskPVE_REBOOTstop300s
6ScriptBenachrichtigung sendencontinue60s

Windows Update mit PVE-Snapshot-Absicherung

Ein Cross-Module-Playbook: Windows-Host aufwecken, absichern und aktualisieren:

StepTypZielAktionBei Fehler
1Wake on LANWindows-HostHost aufweckenstop
2Online pruefenWindows-HostWarten bis online (max 5 Min)stop
3VM SnapshotPVE-HostSnapshot von VM 100stop
4TaskWindows-HostWindows Updatecontinue
5Online pruefenWindows-HostWarten auf Reboot (max 10 Min)continue

Cross-Module

In diesem Beispiel wird das Playbook auf den Windows-Host gestartet. Steps 3 nutzt Abweichendes Ziel, um den Snapshot auf dem PVE-Host zu erstellen, auf dem die VM laeuft.

Best Practices

  • Snapshots zuerst: Erstellen Sie vor kritischen Aenderungen immer einen Snapshot
  • Health-Checks einbauen: Pruefen Sie nach Updates, ob das System ordnungsgemaess funktioniert
  • Online-Pruefung nach WoL: Nutzen Sie den check_online Step nach Wake-on-LAN
  • Benachrichtigungen: Nutzen Sie den letzten Step fuer Statusmeldungen
  • Timeouts: Setzen Sie angemessene Timeouts, um haengende Steps zu erkennen
  • Fehlerbehandlung: Nutzen Sie continue fuer unkritische Steps und stop fuer kritische

DATAZONE Control Documentation