Output

Ändern Sie die Rückgabe von Salt

Weniger gesprächig

Mit dem Parameter --state-ouput können Sie die Menge an Informationen auf der Konsole reduzieren.

Der State-Outputter hat u.A. folgende Ausgabemodi: full (voll), terse (knapp), mixed (gemischt), und changes (Änderungen).

Die Standardeinstellung ist full, wodurch viele Zeilen mit detaillierten Informationen für jeden ausgeführten Chunk angezeigt werden.

Bei terse wird die Ausgabe stark vereinfacht und in nur einer Zeile angezeigt.

Bei der Einstellung mixed wird eine knappe Ausgabe verwendet, es sei denn, ein Zustand ist fehlgeschlagen; in diesem Fall wird die vollständige Ausgabe verwendet.

Wenn changes verwendet wird, wird terse ausgegeben, wenn kein Fehler und keine Änderungen aufgetreten sind, andernfalls wird die vollständige Ausgabe verwendet.

salt \* state.apply users --state-output=terse
salt \* state.apply users --state-output=terse --state-verbose=false

Alle Optionen nachzulesen in der 📖 Salt Dokumentation.

Wenn die Rückgabe mit der Option terse stark verkürzt wird, gegen unter Umständen wichtige Informationen zur Fehleranalyse verloren. Nutzen Sie ein zusätzliches Logfile, um alle Details in einer Datei zu speichern. Beispiel:

salt <minion> state.apply <state> \
  --state-output=terse --state-verbose=false \
  --log-file=/tmp/salt.log --log-file-level=debug

Die Details der Salt-Rückgabe werden im Logfile als Python-Dictionary gespeichert. Das ist schwer lesbar. Mit dem nachfolgenden Script können Sie das Logfile in eine formatierte Json-Ausgabe umwandeln.

/usr/local/bin/read-salt-log.py
#!/usr/bin/env python3
import json
import sys
import re

for line in sys.stdin:
    match = re.match("([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}).*return event: (.*)", line)
    if match:
        print(match.group(1))
        print(json.dumps(eval(match.group(2)),indent=4))
chmod +x /usr/local/bin/read-salt-log.py
read-salt-log.py < /tmp/salt.log

Last updated