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 Möglichkeiten zur Nutzung der Level CLI aus 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. Bevorzugen Sie Ressourcen-IDs, wenn ein Name mit mehr als einem Datensatz übereinstimmt.

Anmelden und die Sitzung überprüfen

Browser-basierte Anmeldung starten:

lvl auth login

Die 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 dann, 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 unformatiertes CSV in die Standardausgabe. Leiten Sie es in eine Datei um, anstatt -o json.

Dasselbe Muster lässt sich für Alarme und Automatisierungsläufe verwenden:

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 --wait, gibt die CLI die ermittelten 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 run-as-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

Gespeicherte Variablenwerte für einen einzelnen Lauf überschreiben:

lvl script run 'Repair Chrome' --device web-01 --variable channel=stable --variable version=129 --wait -o json

--variable ist nur verfügbar, wenn Sie ein gespeichertes Skript ausführen. Wiederholen Sie --variable <name>=<value> für jede Überschreibung. Sie können eine Variable anhand von Name, ID oder {{reference}}. Variablen, die Sie nicht angeben, verwenden ihre gespeicherten Standardwerte. Jeder Wert wird exakt beibehalten, einschließlich eines leeren Werts, Kommas und zusätzlicher = Zeichen.

Ein gespeichertes Skript behält seine konfigurierte Shell, das Timeout und die run-as-Einstellung. Wenn Sie ein gespeichertes Skript anhand von Name oder ID ausführen, fügen Sie keine Shell- oder run-as-Ü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 Probelauf-Ergebnisses anwenden mit:

lvl automation apply -f disk-cleanup.yaml

⚠️ WARNUNG: Das Anwenden einer Spezifikation gleicht die aktive Automatisierung mit der Datei ab. Bestehende Auslöser oder Aktionen, die nicht in der Datei enthalten sind, können gelöscht werden. Änderungen werden sequenziell angewendet, sodass ein Fehler frühere Änderungen bestehen lassen kann. Halten Sie einen aktuellen Export bereit und führen Sie --dry-run vor jedem Anwenden.

Monitor-Richtlinien untersuchen

Monitor-Richtlinien auflisten:

lvl monitor policy list --limit all

Eine Richtlinie anhand von ID oder Name abrufen:

lvl monitor policy get 'Server health' -o json

Ihre Spezifikation exportieren:

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

Eine Spezifikation vor dem Anwenden in der Vorschau anzeigen:

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

Wie beim Anwenden einer Automatisierung gleicht das Anwenden einer Monitor-Richtlinie die aktive Ressource ab und ist nicht transaktional.

Gruppenqualifizierte Referenzen verwenden

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

lvl device get 'Servers/web-01'

Gruppenqualifizierte Referenzen helfen, wenn verschiedene Gerätegruppen denselben Hostnamen enthalten. Ist eine Referenz weiterhin mehrdeutig, hält die CLI an und listet die Treffer auf, anstatt einen auszuwählen.

Genaue Flags und Ausgabeformate untersuchen

Normale Befehlshilfe anzeigen:

lvl script run --help

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

lvl skill describe script run

Alle Befehle unter einer Gruppe anzeigen:

lvl skill describe update

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

Sicherheits-Checkliste

Vor dem Ausführen eines Befehls, der Level oder ein verwaltetes Gerät verändert:

  1. Die aktive Organisation bestätigen mit lvl auth status.

  2. Jedes Ziel anhand von ID, Name oder gruppenqualifizierter Referenz 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 verwendet, sofern verfügbar.

  6. Verwenden Sie --yes erst nach Prüfung der vollständigen Auswahl der betroffenen Ressourcen.

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

Befehle zum dauerhaften Löschen erfordern eine Bestätigung in einem interaktiven Terminal und erfordern --yes bei nicht-interaktiver Ausführung. Einige Befehle, darunter Geräteneustart und -abschalten, lösen die Aktion sofort aus, ohne zur Bestätigung aufzufordern.

Hat dies deine Frage beantwortet?