Passer au contenu principal

Moniteur Exécution de Script

Monitor any device condition by running a script and evaluating its output against a threshold or string match.

Introduction

Surveillez tout ce pour quoi vous pouvez écrire un script. Les moniteurs de script exécutent un script sur les appareils cibles selon un calendrier défini et évaluent la sortie par rapport à une condition que vous définissez — si la condition est remplie, Level déclenche une alerte.

Là où les types de moniteurs intégrés couvrent les conditions courantes (CPU, mémoire, disque, connectivité), les moniteurs de script couvrent tout le reste : état du pare-feu, expiration des certificats, conformité des licences, santé des applications personnalisées, dérive de configuration, et toute autre caractéristique de l'appareil que vous pouvez exposer avec un script. Le script s'exécute localement sur l'appareil, il n'y a donc pas de surcharge d'appel externe — juste un accès direct et efficace à tout ce que le système d'exploitation peut signaler.


🎬 VIDÉO


Moniteurs de Script

Level exécute le script sélectionné sur les appareils couverts à la fréquence que vous avez configurée. Après chaque exécution, il lit la totalité de la sortie console et l'évalue par rapport à votre Sortie du script condition et Valeur. Si la condition est remplie pour le nombre d'exécutions consécutives défini par votre Nombre de déclenchements, une alerte se déclenche.

L'évaluation est simple par conception : le script produit une sortie, le moniteur vérifie si cette sortie correspond à votre condition. Le script n'a pas besoin de se terminer avec un code spécifique — c'est la sortie qui compte.

ℹ️ REMARQUE : Level évalue toutes les sorties du script, pas seulement la première ou la dernière ligne. Gardez cela à l'esprit lors de l'écriture de scripts produisant une sortie multiligne.


Créer le Script

Avant de configurer le moniteur, rédigez et enregistrez le script qu'il exécutera. Tout langage pris en charge fonctionne : PowerShell, Bash, Zsh, Python, Go, Ansible ou osquery.

💡 CONSEIL : osquery fonctionne sur Windows, macOS et Linux — un seul script osquery peut alimenter des moniteurs sur les trois plateformes sans avoir à maintenir des scripts séparés par système d'exploitation.

Le script doit produire une valeur ou un état que Level peut évaluer de manière nette — un nombre, une chaîne comme True/False, ou un mot connu comme Enabled. Le moniteur compare ensuite cette sortie à votre seuil.

Create Script

💡 CONSEIL : Pour les vérifications complexes où plusieurs conditions doivent être évaluées à l'intérieur du script, produisez un mot déclencheur connu (comme ALERT) lorsque la condition est défaillante, et définissez le moniteur sur Contient ALERT. Cela maintient la logique de réussite/échec à l'intérieur du script tout en gardant la configuration du moniteur simple.


Configuration d'un Moniteur de Script

Ouvrez la politique de moniteur cible, puis ajoutez ou modifiez un moniteur de script. Le Modifier le moniteur le panneau s'ouvre sur la droite.

Nom et Type

  1. Saisissez un nom dans le Nom champ. Le nom apparaît dans l'alerte, alors rendez-le descriptif — «Pare-feu Windows désactivé» est immédiatement exploitable ; «Moniteur de script 4» ne l'est pas.

  2. Définissez Type à Exécuter le script.

Uptime Monitor

Sévérité

Définissez Sévérité en fonction de l'impact de la condition que ce script détecte :

  • Information

  • Avertissement

  • Critique

  • Urgence

Système d'exploitation

Sélectionnez le système d'exploitation sur lequel le script doit s'exécuter : Windows, macOS, ou Linux. Le moniteur s'exécutera uniquement sur les appareils utilisant le système d'exploitation sélectionné.

OS Selection

Script

Sélectionnez le script à exécuter dans le Script champ. Cliquez sur l'icône de lien pour ouvrir le script et le consulter ou le modifier. Cliquez sur Tester le script pour exécuter le script sur les appareils ciblés immédiatement et inspecter la sortie brute — utile pour confirmer que le script renvoie ce que vous attendez avant que le moniteur ne soit mis en ligne.

Script Selection

Sortie du Script

Sortie du script définit comment Level compare la sortie console du script à votre Valeur. La liste complète des opérateurs :

  • Égal à — la sortie correspond exactement à la valeur

  • Différent de — la sortie ne correspond pas à la valeur

  • Contient — la sortie inclut la valeur en tant que sous-chaîne

  • Ne contient pas — la sortie n'inclut pas la valeur

  • Supérieur à — la sortie (numérique) est supérieure à la valeur

  • Supérieur ou égal à — la sortie (numérique) est supérieure ou égale à la valeur

  • Inférieur à — la sortie (numérique) est inférieure à la valeur

  • Inférieur ou égal à — la sortie (numérique) est inférieure ou égale à la valeur

Script Output

ℹ️ REMARQUE : La sortie console complète de votre script devient la charge utile de l'alerte. Lorsqu'une alerte se déclenche, la sortie du script est visible directement dans les détails de l'alerte — ainsi tout ce que vous écrivez dans la console (nom de l'appareil, valeurs détectées, détails des erreurs) y apparaîtra. L'inclusion d'un contexte utile dans votre sortie facilite considérablement l'exploitation des alertes sans avoir à creuser davantage.

Valeur

Saisissez la valeur à comparer à la sortie du script dans le Valeur champ. Pour les opérateurs numériques, saisissez un nombre. Pour les opérateurs de chaîne, saisissez la chaîne exacte.

Output

💡 CONSEIL : L'approche recommandée consiste à produire ALERT (avec tout détail supplémentaire utile à l'investigation) lorsqu'une condition est défaillante, et définissez Sortie du script à Contient ALERT. Cela fonctionne parfaitement avec la sortie multiligne, inclut tout détail que vous ajoutez après le mot-clé, et garde l'alerte lisible. Définissez le moniteur sur Ne contient pas ALERT si vous souhaitez inverser la logique.

Fréquence d'Exécution

Fréquence d'exécution contrôle la fréquence à laquelle le script s'exécute sur les appareils cibles. Définissez l'unité (Minutes ou Heures) et la valeur à l'aide du curseur ou des flèches haut/bas. La plage est de 1 à 120 minutes ou de 1 à 24 heures.

Run Frequency

⚠️ AVERTISSEMENT : L'exécution de scripts à une fréquence très élevée peut affecter les performances de l'appareil, en particulier sur du matériel bas de gamme ou si le script lui-même est gourmand en ressources. Commencez avec un intervalle plus long et ne le réduisez que si votre cas d'utilisation nécessite réellement une détection plus rapide.

Nombre de Déclenchements

Nombre de déclenchements définit le nombre d'exécutions consécutives du script devant correspondre à la condition avant que Level ne crée une alerte. Utilisez les flèches haut/bas pour définir la valeur.

Un nombre de déclenchements de 1 déclenche une alerte dès la première exécution correspondante. Des valeurs plus élevées exigent que la condition persiste sur plusieurs exécutions avant d'alerter — utile pour les conditions qui pourraient apparaître brièvement en raison de la synchronisation (un script s'exécutant en cours d'opération, par exemple).

Trigger Count

Résolution Automatique

Résoudre automatiquement l'alerte si elle n'est plus applicable ferme l'alerte automatiquement lorsqu'une exécution ultérieure du script ne correspond plus à la condition. Activé par défaut.

Laissez cette option activée pour les conditions qui se résolvent réellement (une valeur qui repasse sous un seuil, une chaîne qui n'apparaît plus dans la sortie). Désactivez-la si vous souhaitez que les alertes persistent pour une révision manuelle.

Auto-Resolve

Remédiation

Attachez une ou plusieurs automatisations à exécuter lorsque ce moniteur se déclenche — appliquez une correction de configuration, redémarrez un service ou notifiez votre équipe.

  1. Cliquez dans le Remédiation champ et sélectionnez une automatisation.

  2. Pour en ajouter d'autres, cliquez sur + Ajouter une autre remédiation.

  3. Pour en supprimer une, cliquez sur × à côté.

Remediation

ℹ️ REMARQUE : Les remédiations s'exécutent lors de la création de l'alerte, pas lors de sa résolution.


Notifications

  • Envoyer des notifications lors de la création de l'alerte — les destinataires de la politique reçoivent un e-mail lorsque l'alerte se déclenche

  • Envoyer des notifications lors de la résolution de l'alerte — les destinataires de la politique reçoivent un e-mail lorsque l'alerte est résolue

Les destinataires sont gérés au niveau de la politique de moniteur, dans la Destinataires section.

Notifications

Enregistrement du Moniteur

Cliquez sur Mettre à jour le moniteur pour enregistrer les modifications, ou Ajouter un moniteur lors de l'ajout d'un nouveau. Le moniteur commence à s'exécuter immédiatement, les exécutions suivantes étant planifiées à partir du moment de la création selon la fréquence configurée.


Exemples et Inspiration

Pour des exemples complets montrant comment écrire un script et configurer le moniteur autour de celui-ci, consultez Exemples de Moniteurs de Script.

La Bibliothèque Level à level.io/library dispose d'une collection soigneusement sélectionnée de scripts prêts à l'emploi et de politiques de moniteur que vous pouvez importer dans votre compte en un seul clic. C'est un bon point de départ, que vous souhaitiez déployer quelque chose immédiatement ou simplement voir comment d'autres ont abordé un problème de surveillance particulier.


Bonnes Pratiques

Utilisez un ALERT sentinel comme modèle de sortie standard. L'approche recommandée : écrivez des scripts pour produire ALERT (avec tout détail supplémentaire après) lorsque l'appareil est dans un état défaillant, puis définissez le moniteur sur Contient ALERT. Cela fonctionne de manière fiable avec la sortie multiligne, est facile à analyser dans la liste des alertes, et maintient la logique de réussite/échec à l'intérieur du script où elle doit se trouver.

Script PowerShell

if ($condition) {
Write-Output "ALERT: $details"
exit 1
} else {
Write-Output "OK"
exit 0
}

Conservez la logique d'évaluation dans le moniteur pour les vérifications simples. Lorsqu'un script produit une valeur unique et nette — un nombre, True/False, Enabled/Disabled — configurez la comparaison dans le moniteur plutôt que dans le script. Cela rend le moniteur plus facile à comprendre et à ajuster sans toucher au script.

Commencez avec une fréquence d'exécution plus longue. Réduire un intervalle est facile ; gérer l'impact sur les performances d'un script s'exécutant trop souvent est plus difficile. Une exécution à haute fréquence peut affecter les appareils bas de gamme, surtout si le script effectue un travail significatif.

Utilisez osquery pour une couverture multiplateforme. osquery fonctionne sur Windows, macOS et Linux et expose l'état de l'appareil via une interface de type SQL. Un seul script osquery peut souvent remplacer trois scripts distincts spécifiques à chaque système d'exploitation.

Testez avant de déployer. Utilisez Tester le script pour exécuter le script sur un appareil cible et inspecter la sortie brute avant que le moniteur ne soit mis en ligne. Cela permet de détecter les surprises de format de sortie — espaces superflus, sauts de ligne inattendus, sortie multiligne — avant qu'elles ne brisent silencieusement votre moniteur.


FAQ

  • Qui peut créer et modifier des moniteurs de script ? Les techniciens ayant accès à la politique de moniteur concernée. Les paramètres d'autorisation sont gérés dans Espace de travail → Autorisations.

  • En quoi un moniteur de script est-il différent de l'exécution d'un script via une automatisation ? Une automatisation exécute un script en réponse à un déclencheur (une planification, une alerte, une action manuelle). Un moniteur de script exécute un script selon un calendrier récurrent spécifiquement pour évaluer la santé de l'appareil et déclencher une alerte si une condition est remplie. Utilisez les moniteurs pour les vérifications de santé continues, les automatisations pour les tâches réactives ou ponctuelles.

  • Puis-je utiliser le même script dans plusieurs moniteurs ? Oui. Un seul script peut être référencé par autant de moniteurs que nécessaire, dans différentes politiques. Si vous mettez à jour le script, tous les moniteurs qui l'utilisent prendront en compte la modification lors de leur prochaine exécution.

  • Mon moniteur de script ne déclenche pas d'alerte alors que je sais que la condition est vraie. Que dois-je vérifier ? Utilisez Tester le script pour exécuter le script sur un appareil cible et inspecter la sortie brute. Problèmes courants : la sortie contient des espaces de début/fin qui brisent un Égal à correspondent, la sortie est multiligne et la valeur correspondante est perdue, ou le script s'exécute sur des appareils qui ne correspondent pas au système d'exploitation attendu.

  • Que se passe-t-il avec les alertes de moniteur de script ouvertes si je supprime le moniteur ? Les alertes existantes restent en place. La suppression d'un moniteur ne ferme pas les alertes qu'il a déjà créées — résolvez-les manuellement.

Avez-vous trouvé la réponse à votre question ?