Surveillez n'importe quelle condition d'appareil en exécutant un script et en évaluant sa sortie par rapport à un seuil ou à une correspondance de chaîne. 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 lève une alerte.
Lorsque les types de moniteur 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 du certificat, conformité des licences, santé des applications personnalisées, dérive de configuration et toute autre caractéristique d'appareil que vous pouvez exposer avec un script. Le script s'exécute localement sur l'appareil, donc il n'y a pas de surcharge d'appel externe — juste un accès direct et efficace à ce que le système d'exploitation peut rapporter.
Moniteurs de Script
Level exécute le script sélectionné sur les appareils couverts selon votre fréquence configurée. Après chaque exécution, il lit la sortie complète de la console et l'évalue par rapport à votre condition de Sortie du script 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 affiche quelque chose, le moniteur vérifie si cette sortie correspond à votre condition. Le script n'a pas besoin de se terminer avec un code spécifique — la sortie est ce qui compte.
ℹ️ NOTE: Level évalue toute la sortie du script, pas seulement la première ou la dernière ligne. Gardez cela à l'esprit lors de l'écriture de scripts qui produisent une sortie multi-lignes.
Créer le Script
Avant de configurer le moniteur, écrivez et enregistrez le script qu'il exécutera. N'importe quel langage pris en charge fonctionne : PowerShell, Bash, Zsh, Python, Go, Ansible ou osquery.
💡 CONSEIL: osquery s'exécute sur Windows, macOS et Linux — un seul script osquery peut alimenter des moniteurs sur les trois plateformes sans maintenir des scripts séparés par système d'exploitation.
Le script doit afficher une valeur ou un état que Level peut évaluer proprement — un nombre, une chaîne comme True/False, ou un mot connu comme Enabled. Le moniteur compare ensuite cette sortie à votre seuil.
💡 CONSEIL: Pour les vérifications complexes où plusieurs conditions doivent être évaluées dans le script, affichage un mot déclencheur connu (comme ALERT) lorsque la condition est malsaine, et définissez le moniteur sur Contient ALERT. Cela garde la logique pass/fail à 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 panneau Modifier le moniteur s'ouvre à droite.
Nom et Type
1. Entrez un nom dans le champ Nom. Le nom apparaît dans l'alerte, donc rendez-le descriptif — « Pare-feu Windows désactivé » est immédiatement actionnable ; « Moniteur de script 4 » ne l'est pas.
2. Définissez Type sur Exécuter le script.
Gravité
Définissez Gravité 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 ne s'exécutera que sur les appareils exécutant le système d'exploitation sélectionné.
Script
Sélectionnez le script à exécuter à partir du champ Script. Cliquez sur l'icône de lien pour ouvrir le script et l'examiner ou le modifier. Cliquez sur Tester le script pour exécuter le script par rapport aux appareils ciblés immédiatement et inspecter la sortie brute — utile pour confirmer que le script retourne ce que vous attendez avant que le moniteur soit actif.
Sortie du Script
Sortie du script définit comment Level compare la sortie de la console du script à votre Valeur. La liste complète des opérateurs :
Égal — la sortie correspond exactement à la valeur
Ne pas égal — la sortie ne correspond pas à la valeur
Contient — la sortie inclut la valeur comme 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
ℹ️ NOTE: La sortie complète de la console 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 — donc tout ce que vous écrivez sur la console (nom de l'appareil, valeurs détectées, détails d'erreur) apparaîtra là. Écrire un contexte utile dans votre sortie rend les alertes beaucoup plus faciles à agir sans avoir besoin de creuser plus loin.
Valeur
Entrez la valeur à comparer avec la sortie du script dans le champ Valeur. Pour les opérateurs numériques, entrez un nombre. Pour les opérateurs de chaîne, entrez la chaîne exacte.
💡 CONSEIL: Le modèle recommandé est de afficher ALERT (avec tout détail supplémentaire utile pour l'enquête) lorsqu'une condition est malsaine, et de définir Sortie du script sur Contient ALERT. Cela fonctionne proprement avec une sortie multi-lignes, 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 voulez 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 en utilisant le curseur ou les flèches haut/bas. La plage est de 1 à 120 minutes ou 1 à 24 heures.
⚠️ AVERTISSEMENT: L'exécution de scripts à une fréquence très élevée peut affecter les performances de l'appareil, en particulier sur le matériel de bas de gamme ou si le script lui-même consomme beaucoup de ressources. Commencez par un intervalle plus long et réduisez-le seulement si votre cas d'utilisation le nécessite vraiment.
Nombre de Déclenchements
Nombre de déclenchements définit combien d'exécutions de script consécutives doivent correspondre à la condition avant que Level 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 à la première exécution correspondante. Des valeurs plus élevées nécessitent que la condition persiste sur plusieurs exécutions avant d'alerter — utile pour les conditions qui pourraient apparaître brièvement en raison du timing (un script s'exécutant au milieu d'une opération, par exemple).
Résolution Automatique
Résoudre automatiquement l'alerte si elle n'est plus applicable ferme l'alerte automatiquement lorsqu'une exécution de script ultérieure ne correspond plus à la condition. Activé par défaut.
Laissez ceci activé pour les conditions qui se dégagent vraiment (une valeur retombant en dessous d'un seuil, une chaîne n'apparaissant plus dans la sortie). Désactivez-le si vous voulez que les alertes persistent pour un examen manuel.
Remédiation
Attachez une ou plusieurs automatisations à exécuter lorsque ce moniteur se déclenche — pousser un correctif de configuration, redémarrer un service ou notifier votre équipe.
Cliquez dans le champ Remédiation et sélectionnez une automatisation.
Pour en ajouter plus, cliquez sur + Ajouter une autre remédiation.
Pour en supprimer une, cliquez sur le × à côté.
ℹ️ NOTE: Les remédiation s'exécutent lorsque l'alerte est créée, pas lorsqu'elle se résout.
Notifications
Envoyer des notifications à la création d'une alerte — les destinataires de la politique reçoivent un e-mail lorsque l'alerte se déclenche
Envoyer des notifications à la résolution d'une alerte — les destinataires de la politique reçoivent un e-mail lorsque l'alerte se résout
Les destinataires sont gérés au niveau de la politique de moniteur, dans la section Destinataires.
Enregistrer le 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 immédiatement, avec les exécutions ultérieures planifiées à partir de l'heure de création en fonction de votre fréquence configurée.
Exemples et Inspiration
Pour des exemples fonctionnels complets montrant comment écrire un script et configurer le moniteur autour, consultez Exemples de Moniteur de Script.
La Bibliothèque Level à level.io/library a une collection organisée de scripts prêts à l'emploi et de politiques de moniteur que vous pouvez importer dans votre compte en un clic. C'est un bon point de départ que vous cherchiez à déployer quelque chose immédiatement ou que vous vouliez simplement voir comment d'autres ont abordé un problème de surveillance particulier.
Meilleures Pratiques
Utilisez une sentinelle ALERT comme modèle de sortie standard. L'approche recommandée : écrivez les scripts pour afficher ALERT (avec tout détail supplémentaire après) lorsque l'appareil est dans un état malsain, puis définissez le moniteur sur Contient ALERT. Cela fonctionne de manière fiable avec une sortie multi-lignes, est facile à scanner dans la liste des alertes, et garde la logique pass/fail à l'intérieur du script où elle appartient.
Script PowerShell
if ($condition) {
Write-Output "ALERT: $details"
exit 1
} else {
Write-Output "OK"
exit 0
}Gardez la logique d'évaluation dans le moniteur pour les vérifications simples. Lorsqu'un script produit une seule valeur propre — 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 par une fréquence d'exécution plus longue. Réduire un intervalle est facile ; gérer l'impact de performance à partir d'un script s'exécutant trop souvent est plus difficile. L'exécution haute fréquence peut affecter les appareils de bas de gamme, en particulier si le script effectue un travail significatif.
Utilisez osquery pour la couverture multi-plateformes. osquery s'exécute 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 séparés spécifiques au système d'exploitation.
Testez avant de déployer. Utilisez Tester le script pour exécuter le script par rapport à un appareil cible et inspecter la sortie brute avant que le moniteur ne soit actif. Cela capture les surprises de format de sortie — espace blanc supplémentaire, sauts de ligne inattendus, sortie multi-lignes — avant qu'elles ne cassent silencieusement votre moniteur.
FAQ
Qui peut créer et modifier des moniteurs de script ? Les techniciens ayant accès à la politique de moniteur pertinente. Les paramètres d'autorisation sont gérés dans Espace de travail → Autorisations.
Comment 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 (un calendrier, 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 lever une alerte si une condition est remplie. Utilisez les moniteurs pour les contrôles de santé continus, 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, sur différentes politiques. Si vous mettez à jour le script, tous les moniteurs l'utilisant reprendront la modification à leur prochaine exécution.
Mon moniteur de script ne se déclenche pas même si je sais que la condition est vraie. Que dois-je vérifier ? Utilisez Tester le script pour exécuter le script par rapport à un appareil cible et inspecter la sortie brute. Problèmes courants : la sortie a des espaces blancs avant/après qui cassent une correspondance exacte Égal, la sortie est multi-lignes et la valeur correspondante se perd, 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. Supprimer un moniteur ne ferme pas les alertes qu'il a déjà créées — résolvez-les manuellement.











