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:
Die aktive Organisation mit
lvl auth status.Jedes Ziel per ID, Name oder gruppenqualifiziertem Verweis bestätigen.
Skripte sowie JSON- oder YAML-Spezifikationen vollständig prüfen.
Prüfen, ob der Befehl standardmäßig
SYSTEM, Aktualisierungen installiert, ein Gerät neu startet oder eine Datei ersetzt.Verwenden Sie
--dry-runsofern verfügbar.Verwenden Sie
--yeserst nach vollständiger Prüfung aller ausgewählten Ressourcen.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.
