Ces recettes présentent les façons courantes d'utiliser Level CLI depuis un terminal. Remplacez les exemples de noms tels que web-01, Laptops, et Disk cleanup avec les ressources de votre compte Level.
ℹ️ REMARQUE : Exécutez lvl auth status avant une recette pour confirmer le profil actif et l'organisation Level. Préférez les identifiants de ressources lorsqu'un nom correspond à plusieurs enregistrements.
Se connecter et vérifier la session
Lancez la connexion via le navigateur :
lvl auth login
Confirmez la session active :
lvl auth status
La commande de connexion affiche un code à usage unique et une URL de vérification. Après avoir approuvé l'accès dans votre navigateur, l'interface CLI enregistre la session pour le profil actif.
Lister et filtrer les appareils
Rechercher les noms d'appareils et renvoyer toutes les pages correspondantes :
lvl device list --search web --limit all
Renvoyer les mêmes résultats en JSON :
lvl device list --search web --limit all -o json
Utiliser le filtre jq intégré pour sélectionner des champs spécifiques :
lvl device list --search web --limit all --jq '.list[] | {id, name, online}'--jq implique une sortie JSON. Les résultats de type chaîne s'affichent en texte brut. Les objets et autres valeurs s'affichent en JSON compact, un résultat par ligne.
ℹ️ REMARQUE : Les commandes de liste paginées renvoient jusqu'à 100 enregistrements par défaut. Utilisez --limit all uniquement lorsque vous avez besoin de l'ensemble complet des résultats.
Exporter les appareils en CSV
Exporter les appareils d'un groupe :
lvl device export --group Laptops > devices.csv
L'export écrit le CSV brut sur la sortie standard. Redirigez-le vers un fichier plutôt que d'ajouter -o json.
Vous pouvez utiliser le même modèle pour les alertes et les exécutions d'automatisation :
lvl alert export --status resolved > resolved-alerts.csv
lvl run export --status error > failed-runs.csv
Exécuter un diagnostic en lecture seule sur un appareil de type Unix
L'exemple suivant vérifie l'utilisation du système de fichiers sur un appareil Linux ou macOS :
lvl script run \ --device web-01 \ --command 'df -h' \ --shell bash \ --run-as current_user \ --wait \ -o json
Cette commande crée une exécution de script ad hoc. --wait interroge régulièrement l'état jusqu'à la fin et inclut la sortie des étapes dans le résultat.
Si vous omettez --wait, l'interface CLI renvoie les identifiants d'exécution découverts. Vérifiez une exécution ultérieurement avec :
lvl run get RUN_ID --wait -o json
⚠️ AVERTISSEMENT : Confirmez le système d'exploitation cible avant d'exécuter une commande ad hoc. La création de scripts et les exécutions ad hoc utilisent par défaut le SYSTEM paramètre run-as, sauf si vous spécifiez une autre valeur.
Créer et réutiliser un script de diagnostic sauvegardé
Si vous disposez déjà d'un script Bash révisé dans os-info.sh, enregistrez-le dans Level :
lvl script create \ --name 'OS info' \ --file ./os-info.sh \ --shell bash \ --run-as current_user \ -o json
Exécuter le script sauvegardé par son nom :
lvl script run 'OS info' --device web-01 --wait -o json
Remplacer les valeurs de variables sauvegardées pour une seule exécution :
lvl script run 'Repair Chrome' --device web-01 --variable channel=stable --variable version=129 --wait -o json
--variable est disponible uniquement lorsque vous exécutez un script sauvegardé. Répétez --variable <name>=<value> pour chaque remplacement. Vous pouvez identifier une variable par son nom, son identifiant ou {{reference}}. Les variables que vous ne spécifiez pas utilisent leurs valeurs par défaut sauvegardées. Chaque valeur est préservée exactement, y compris une valeur vide, les virgules et les = signes.
Un script sauvegardé conserve son shell configuré, son délai d'expiration et son paramètre run-as. Lorsque vous exécutez un script sauvegardé par son nom ou son identifiant, n'ajoutez pas de remplacements de shell ou de run-as.
Utilisez un identifiant de script lorsque plusieurs scripts portent le même nom.
Prévisualiser une spécification d'automatisation
Exporter une automatisation existante en YAML :
lvl automation spec 'Disk cleanup' > disk-cleanup.yaml
Prévisualiser comment cette spécification modifierait l'automatisation en production :
lvl automation apply -f disk-cleanup.yaml --dry-run -o json
Une exécution à vide affiche les changements planifiés sans les appliquer.
Après avoir examiné le fichier et le résultat de l'exécution à vide, appliquez-le avec :
lvl automation apply -f disk-cleanup.yaml
⚠️ AVERTISSEMENT : L'application d'une spécification reconcilie l'automatisation en production avec le fichier. Les déclencheurs ou actions existants absents du fichier peuvent être supprimés. Les modifications sont appliquées en séquence, donc une erreur peut laisser les modifications antérieures en place. Conservez un export à jour et exécutez --dry-run avant chaque application.
Inspecter les politiques de surveillance
Lister les politiques de surveillance :
lvl monitor policy list --limit all
Obtenir une politique par identifiant ou par nom :
lvl monitor policy get 'Server health' -o json
Exporter sa spécification :
lvl monitor policy spec 'Server health' > server-health.yaml
Prévisualiser une spécification avant de l'appliquer :
lvl monitor policy apply -f server-health.yaml --dry-run -o json
Comme pour l'application d'une automatisation, l'application d'une politique de surveillance reconcilie la ressource en production et n'est pas transactionnelle.
Utiliser des références qualifiées par groupe
Les références d'appareils peuvent utiliser un identifiant, un nom d'hôte, un nom, un surnom ou un nom d'hôte qualifié par groupe :
lvl device get 'Servers/web-01'
Les références qualifiées par groupe sont utiles lorsque différents groupes d'appareils contiennent le même nom d'hôte. Si une référence reste ambiguë, l'interface CLI s'arrête et liste les correspondances au lieu d'en choisir une.
Inspecter les indicateurs exacts et les formats de sortie
Afficher l'aide normale d'une commande :
lvl script run --help
Afficher la référence générée, y compris le format de sortie JSON :
lvl skill describe script run
Afficher toutes les commandes d'un groupe :
lvl skill describe update
L'interface CLI installée fait autorité pour ses indicateurs et définitions de sortie actuels.
Liste de contrôle de sécurité
Avant d'exécuter une commande qui modifie Level ou un appareil géré :
Confirmez l'organisation active avec
lvl auth status.Confirmez chaque cible par identifiant, nom ou référence qualifiée par groupe.
Examinez les scripts et les spécifications JSON ou YAML dans leur intégralité.
Vérifiez si la commande utilise par défaut
SYSTEM, installe des mises à jour, redémarre un appareil ou remplace un fichier.Utilisez
--dry-runlorsque disponible.Utilisez
--yesuniquement après avoir examiné l'ensemble complet des ressources sélectionnées.Consultez l'historique des exécutions ou les journaux de mise à jour pour les résultats asynchrones.
Les commandes de suppression définitive requièrent une confirmation dans un terminal interactif et requièrent --yes en exécution non interactive. Certaines commandes, notamment le redémarrage et l'arrêt d'un appareil, déclenchent l'action immédiatement sans invite de confirmation.
