Zum Hauptinhalt springen

Level CLI – Beispiele und Rezepte

Use practical lvl examples to inspect devices, export data, run diagnostics, and preview automation changes safely.

Diese Rezepte zeigen gängige Verwendungsmöglichkeiten der Level CLI in einem Terminal. Ersetzen Sie Beispielnamen wie web-01, Laptops, und Disk cleanup mit Ressourcen aus Ihrem Level-Konto.

ℹ️ HINWEIS: Führen Sie lvl auth status vor einem Rezept, um das aktive Profil und die Level-Organisation zu bestätigen. Verwenden Sie bevorzugt Ressource-IDs, wenn ein Name mit mehr als einem Eintrag übereinstimmt.

Anmelden und Sitzung überprüfen

Browser-basierte Anmeldung starten:

lvl auth login

Aktive Sitzung bestätigen:

lvl auth status

Der Anmeldebefehl gibt einen Einmalcode und eine Verifizierungs-URL aus. Nachdem Sie den Zugriff in Ihrem Browser genehmigt haben, speichert die CLI die Sitzung für das aktive Profil.

Geräte auflisten und filtern

Gerätenamen durchsuchen und alle übereinstimmenden Seiten zurückgeben:

lvl device list --search web --limit all

Dieselben Ergebnisse als JSON zurückgeben:

lvl device list --search web --limit all -o json

Den integrierten jq-Filter verwenden, um bestimmte Felder auszuwählen:

lvl device list --search web --limit all --jq '.list[] | {id, name, online}'

--jq impliziert JSON-Ausgabe. Zeichenkettenergebnisse werden als Klartext ausgegeben. Objekte und andere Werte werden als kompaktes JSON ausgegeben, ein Ergebnis pro Zeile.

ℹ️ HINWEIS: Paginierte Listenbefehle geben standardmäßig bis zu 100 Datensätze zurück. Verwenden Sie --limit all nur, wenn Sie den vollständigen Ergebnissatz benötigen.

Geräte als CSV exportieren

Geräte in einer Gruppe exportieren:

lvl device export --group Laptops > devices.csv

Der Export schreibt rohe CSV-Daten in die Standardausgabe. Leiten Sie die Ausgabe in eine Datei um, anstatt -o json.

Dasselbe Muster kann für Warnmeldungen und Automatisierungsläufe verwendet werden:

lvl alert export --status resolved > resolved-alerts.csv
lvl run export --status error > failed-runs.csv

Eine schreibgeschützte Diagnose auf einem Unix-ähnlichen Gerät ausführen

Das folgende Beispiel überprüft die Dateisystemnutzung auf einem Linux- oder macOS-Gerät:

lvl script run \  --device web-01 \  --command 'df -h' \  --shell bash \  --run-as current_user \  --wait \  -o json

Dieser Befehl erstellt einen Ad-hoc-Skriptlauf. --wait fragt den Abschlussstatus ab und fügt die Schrittausgabe in das Ergebnis ein.

Wenn Sie --waitgibt die CLI die gefundenen Lauf-IDs zurück. Einen Lauf später überprüfen mit:

lvl run get RUN_ID --wait -o json

⚠️ WARNUNG: Bestätigen Sie das Zielbetriebssystem, bevor Sie einen Ad-hoc-Befehl ausführen. Skripterstellung und Ad-hoc-Läufe verwenden standardmäßig die SYSTEM die „Ausführen als"-Einstellung, sofern Sie keinen anderen Wert angeben.

Ein gespeichertes Diagnoseskript erstellen und wiederverwenden

Wenn Sie bereits ein geprüftes Bash-Skript in os-info.sh, speichern Sie es in Level:

lvl script create \  --name 'OS info' \  --file ./os-info.sh \  --shell bash \  --run-as current_user \  -o json

Das gespeicherte Skript anhand des Namens ausführen:

lvl script run 'OS info' --device web-01 --wait -o json

Ein gespeichertes Skript behält seine konfigurierte Shell, den Timeout und die „Ausführen als"-Einstellung. Wenn Sie ein gespeichertes Skript nach Name oder ID ausführen, fügen Sie keine Shell- oder „Ausführen als"-Überschreibungen hinzu.

Verwenden Sie eine Skript-ID, wenn mehr als ein Skript denselben Namen hat.

Eine Automatisierungsspezifikation in der Vorschau anzeigen

Eine vorhandene Automatisierung als YAML exportieren:

lvl automation spec 'Disk cleanup' > disk-cleanup.yaml

Vorschau anzeigen, wie diese Spezifikation die aktive Automatisierung verändern würde:

lvl automation apply -f disk-cleanup.yaml --dry-run -o json

Ein Probelauf gibt die geplanten Änderungen aus, ohne sie anzuwenden.

Nach dem Prüfen der Datei und des Probelaufergebnisses anwenden mit:

lvl automation apply -f disk-cleanup.yaml

⚠️ WARNUNG: Das Anwenden einer Spezifikation gleicht die aktive Automatisierung mit der Datei ab. Vorhandene Auslöser oder Aktionen, die in der Datei fehlen, können gelöscht werden. Änderungen werden der Reihe nach angewendet, daher kann ein Fehler dazu führen, dass frühere Änderungen bestehen bleiben. Halten Sie einen aktuellen Export bereit und führen Sie --dry-run vor jeder Anwendung.

Monitor-Richtlinien überprüfen

Monitor-Richtlinien auflisten:

lvl monitor policy list --limit all

Eine Richtlinie per ID oder Name abrufen:

lvl monitor policy get 'Server health' -o json

Die Spezifikation exportieren:

lvl monitor policy spec 'Server health' > server-health.yaml

Eine Spezifikation vor der Anwendung in der Vorschau anzeigen:

lvl monitor policy apply -f server-health.yaml --dry-run -o json

Wie bei der Automatisierungsanwendung gleicht die Anwendung einer Monitor-Richtlinie die aktive Ressource ab und ist nicht transaktional.

Gruppenqualifizierte Verweise verwenden

Geräteverweise können eine ID, einen Hostnamen, einen Namen, einen Spitznamen oder einen gruppenqualifizierten Hostnamen verwenden:

lvl device get 'Servers/web-01'

Gruppenqualifizierte Verweise helfen, wenn verschiedene Gerätegruppen denselben Hostnamen enthalten. Ist ein Verweis weiterhin mehrdeutig, hält die CLI an und listet die Übereinstimmungen auf, anstatt eine auszuwählen.

Genaue Flags und Ausgabeformate überprüfen

Normale Befehlshilfe anzeigen:

lvl script run --help

Die generierte Referenz anzeigen, einschließlich der JSON-Ausgabestruktur:

lvl skill describe script run

Alle Befehle einer Gruppe anzeigen:

lvl skill describe update

Die installierte CLI ist die maßgebliche Quelle für aktuelle Flags und Ausgabedefinitionen.

Sicherheitscheckliste

Bevor Sie einen Befehl ausführen, der Level oder ein verwaltetes Gerät verändert:

  1. Die aktive Organisation mit lvl auth status.

  2. Jedes Ziel per ID, Name oder gruppenqualifiziertem Verweis bestätigen.

  3. Skripte sowie JSON- oder YAML-Spezifikationen vollständig prüfen.

  4. Prüfen, ob der Befehl standardmäßig SYSTEM, Aktualisierungen installiert, ein Gerät neu startet oder eine Datei ersetzt.

  5. Verwenden Sie --dry-run sofern verfügbar.

  6. Verwenden Sie --yes erst nach vollständiger Prüfung aller ausgewählten Ressourcen.

  7. Ausführungsverlauf oder Aktualisierungsprotokolle auf asynchrone Ergebnisse prüfen.

Befehle zum dauerhaften Löschen erfordern in einem interaktiven Terminal eine Bestätigung und erfordern --yes bei nicht-interaktiver Ausführung. Einige Befehle, darunter Geräteneustart und -abschaltung, führen die Aktion sofort ohne Bestätigungsaufforderung aus.

Hat dies deine Frage beantwortet?