Überwachen Sie jeden Gerätezustand, indem Sie ein Skript ausführen und seine Ausgabe gegen einen Schwellenwert oder eine Zeichenkettenübereinstimmung auswerten. Script-Monitore führen ein Skript auf Zielgeräten nach einem festgelegten Plan aus und bewerten die Ausgabe gegen eine von Ihnen definierte Bedingung — wenn die Bedingung erfüllt ist, gibt Level eine Warnung aus.
Während die integrierten Monitor-Typen häufige Bedingungen abdecken (CPU, Speicher, Festplatte, Konnektivität), decken Script-Monitore alles andere ab: Firewall-Status, Zertifikatablauf, Lizenzkonformität, benutzerdefinierte Anwendungsintegrität, Konfigurationsdrift und jede andere Geräteeigenschaft, die Sie mit einem Skript verfügbar machen können. Das Skript wird lokal auf dem Gerät ausgeführt, daher gibt es keinen Overhead durch externe Aufrufe — nur direkter, effizienter Zugriff auf das, was das Betriebssystem melden kann.
Script-Monitore
Level führt das ausgewählte Skript auf abgedeckten Geräten nach Ihrer konfigurierten Häufigkeit aus. Nach jeder Ausführung liest es die vollständige Konsolenausgabe und bewertet sie gegen Ihre Bedingung Skriptausgabe und Wert. Wenn die Bedingung für die Anzahl der aufeinanderfolgenden Läufe erfüllt ist, die in Ihrem Auslöseranzahl definiert sind, wird eine Warnung ausgelöst.
Die Bewertung ist bewusst einfach: das Skript gibt etwas aus, der Monitor überprüft, ob diese Ausgabe Ihrer Bedingung entspricht. Das Skript muss nicht mit einem bestimmten Code beendet werden — die Ausgabe ist das, was zählt.
ℹ️ HINWEIS: Level bewertet die gesamte Ausgabe des Skripts, nicht nur die erste oder letzte Zeile. Beachten Sie dies beim Schreiben von Skripten, die mehrzeilige Ausgaben erzeugen.
Erstellen Sie das Skript
Bevor Sie den Monitor konfigurieren, schreiben und speichern Sie das Skript, das er ausführt. Jede unterstützte Sprache funktioniert: PowerShell, Bash, Zsh, Python, Go, Ansible oder osquery.
💡 TIPP: osquery wird auf Windows, macOS und Linux ausgeführt — ein einzelnes osquery-Skript kann Monitore auf allen drei Plattformen unterstützen, ohne separate Skripte pro Betriebssystem zu verwalten.
Das Skript sollte einen Wert oder Status ausgeben, den Level sauber bewerten kann — eine Zahl, eine Zeichenkette wie True/False oder ein bekanntes Wort wie Enabled. Der Monitor vergleicht dann diese Ausgabe mit Ihrem Schwellenwert.
💡 TIPP: Bei komplexen Überprüfungen, bei denen mehrere Bedingungen im Skript ausgewertet werden müssen, geben Sie ein bekanntes Trigger-Wort aus (wie ALERT), wenn der Zustand fehlerhaft ist, und setzen Sie den Monitor auf Enthält ALERT. Dies behält die Pass/Fail-Logik im Skript, während die Monitor-Konfiguration einfach bleibt.
Konfigurieren eines Script-Monitors
Öffnen Sie die Zielüberwachungsrichtlinie und fügen Sie einen Script-Monitor hinzu oder bearbeiten Sie ihn. Das Fenster Monitor bearbeiten wird rechts angezeigt.
Name und Typ
1. Geben Sie einen Namen im Feld Name ein. Der Name wird in der Warnung angezeigt, machen Sie ihn daher aussagekräftig — „Windows-Firewall deaktiviert" ist sofort handlungsfähig; „Script-Monitor 4" ist es nicht.
2. Setzen Sie Typ auf Skript ausführen.
Schweregrad
Setzen Sie Schweregrad basierend auf der Auswirkung der Bedingung, die dieses Skript erkannt:
Information
Warnung
Kritisch
Notfall
Betriebssystem
Wählen Sie das Betriebssystem aus, auf dem das Skript ausgeführt werden soll: Windows, macOS oder Linux. Der Monitor wird nur auf Geräten ausgeführt, auf denen das ausgewählte Betriebssystem ausgeführt wird.
Skript
Wählen Sie das auszuführende Skript aus dem Feld Skript. Klicken Sie auf das Link-Symbol, um das Skript zu öffnen und zu überprüfen oder zu bearbeiten. Klicken Sie auf Skript testen, um das Skript sofort gegen Zielgeräte auszuführen und die Rohergebnis zu überprüfen — nützlich, um zu bestätigen, dass das Skript das zurückgibt, was Sie erwarten, bevor der Monitor live geht.
Skriptausgabe
Skriptausgabe definiert, wie Level die Konsolenausgabe des Skripts mit Ihrem Wert vergleicht. Die vollständige Liste der Operatoren:
Gleich — Ausgabe stimmt genau überein
Nicht gleich — Ausgabe stimmt nicht überein
Enthält — Ausgabe enthält den Wert als Teilzeichenkette
Enthält nicht — Ausgabe enthält den Wert nicht
Größer als — Ausgabe (numerisch) ist größer als der Wert
Größer als oder gleich — Ausgabe (numerisch) ist größer als oder gleich dem Wert
Kleiner als — Ausgabe (numerisch) ist kleiner als der Wert
Kleiner als oder gleich — Ausgabe (numerisch) ist kleiner als oder gleich dem Wert
ℹ️ HINWEIS: Die vollständige Konsolenausgabe Ihres Skripts wird zur Warnungsnutzlast. Wenn eine Warnung ausgelöst wird, ist die Ausgabe des Skripts direkt in den Warnungsdetails sichtbar — daher wird alles, was Sie auf der Konsole schreiben (Gerätename, erkannte Werte, Fehlerdetails), dort angezeigt. Das Schreiben von nützlichem Kontext in Ihre Ausgabe macht Warnungen viel einfacher zu bearbeiten, ohne tiefer graben zu müssen.
Wert
Geben Sie den Wert, mit dem die Skriptausgabe verglichen werden soll, im Feld Wert ein. Für numerische Operatoren geben Sie eine Zahl ein. Für Zeichenkettenoperatoren geben Sie die genaue Zeichenkette ein.
💡 TIPP: Das empfohlene Muster ist die Ausgabe ALERT (mit allen zusätzlichen Details, die für die Untersuchung hilfreich sind), wenn ein Zustand fehlerhaft ist, und das Setzen von Skriptausgabe auf Enthält ALERT. Dies funktioniert sauber mit mehrzeiliger Ausgabe, enthält alle Details, die Sie nach dem Schlüsselwort hinzufügen, und hält die Warnung lesbar. Setzen Sie den Monitor auf Enthält nicht ALERT, wenn Sie die Logik umkehren möchten.
Ausführungshäufigkeit
Ausführungshäufigkeit steuert, wie oft das Skript auf Zielgeräten ausgeführt wird. Setzen Sie die Einheit (Minuten oder Stunden) und den Wert mit dem Schieberegler oder den Auf-Ab-Pfeilen. Der Bereich beträgt 1-120 Minuten oder 1-24 Stunden.
⚠️ WARNUNG: Das Ausführen von Skripten mit sehr hoher Häufigkeit kann sich auf die Gerätelestung auswirken, besonders auf Hardware der unteren Preisklasse oder wenn das Skript selbst ressourcenintensiv ist. Beginnen Sie mit einem längeren Intervall und reduzieren Sie es nur, wenn Ihr Anwendungsfall dies wirklich erfordert.
Auslöseranzahl
Auslöseranzahl definiert, wie viele aufeinanderfolgende Skriptausführungen die Bedingung erfüllen müssen, bevor Level eine Warnung erstellt. Verwenden Sie die Auf-Ab-Pfeile, um den Wert zu setzen.
Eine Auslöseranzahl von 1 löst eine Warnung bei der ersten übereinstimmenden Ausführung aus. Höhere Werte erfordern, dass die Bedingung über mehrere Ausführungen hinweg anhält, bevor eine Warnung gesendet wird — nützlich für Bedingungen, die aufgrund des Timings kurz erscheinen könnten (ein Skript, das mitten in einer Operation ausgeführt wird, zum Beispiel).
Automatische Behebung
Warnung automatisch beheben, wenn sie nicht mehr anwendbar ist schließt die Warnung automatisch, wenn eine nachfolgende Skriptausführung die Bedingung nicht mehr erfüllt. Standardmäßig aktiviert.
Lassen Sie dies aktiviert für Bedingungen, die sich wirklich klären (ein Wert, der unter einen Schwellenwert fällt, eine Zeichenkette, die nicht mehr in der Ausgabe angezeigt wird). Deaktivieren Sie dies, wenn Sie möchten, dass Warnungen für eine manuelle Überprüfung bestehen bleiben.
Behebung
Hängen Sie eine oder mehrere Automatisierungen an, um sie auszuführen, wenn dieser Monitor auslöst — einen Konfigurationsfix pushen, einen Service neu starten oder Ihr Team benachrichtigen.
Klicken Sie in das Feld Behebung und wählen Sie eine Automatisierung.
Um weitere hinzuzufügen, klicken Sie auf + Weitere Behebung hinzufügen.
Um einen zu entfernen, klicken Sie auf das × daneben.
ℹ️ HINWEIS: Behebungen werden ausgeführt, wenn die Warnung erstellt wird, nicht wenn sie sich auflöst.
Benachrichtigungen
Benachrichtigungen bei Warnungserstellung senden — Richtlinienempfänger erhalten eine E-Mail, wenn die Warnung ausgelöst wird
Benachrichtigungen bei Warnungsauflösung senden — Richtlinienempfänger erhalten eine E-Mail, wenn sich die Warnung auflöst
Die Empfänger werden auf Ebene der Überwachungsrichtlinie in Abschnitt Empfänger verwaltet.
Speichern des Monitors
Klicken Sie auf Monitor aktualisieren, um Änderungen zu speichern, oder Monitor hinzufügen, wenn Sie einen neuen hinzufügen. Der Monitor beginnt sofort, mit nachfolgenden Ausführungen ab dem Erstellungszeitpunkt entsprechend Ihrer konfigurierten Häufigkeit geplant.
Beispiele und Inspiration
Für umfassende funktionsfähige Beispiele, die zeigen, wie man ein Skript schreibt und den Monitor drumherum konfiguriert, siehe Script Monitor Beispiele.
Die Level-Bibliothek unter level.io/library hat eine kuratierte Sammlung von einsatzbereiten Skripten und Überwachungsrichtlinien, die Sie mit einem Klick in Ihr Konto importieren können. Dies ist ein guter Ausgangspunkt, ob Sie etwas sofort bereitstellen möchten oder nur sehen möchten, wie andere ein bestimmtes Überwachungsproblem gelöst haben.
Best Practices
Verwenden Sie eine ALERT-Sentinelle als Ihr Standard-Ausgabemuster. Der empfohlene Ansatz: Schreiben Sie Skripte so, dass sie ALERT ausgeben (mit allen zusätzlichen Details danach), wenn sich das Gerät in einem fehlerhaften Zustand befindet, und setzen Sie dann den Monitor auf Enthält ALERT. Dies funktioniert zuverlässig mit mehrzeiliger Ausgabe, ist leicht in der Warnungsliste zu scannen und behält die Pass/Fail-Logik im Skript, wo sie hingehört.
PowerShell-Skript
if ($condition) {
Write-Output "ALERT: $details"
exit 1
} else {
Write-Output "OK"
exit 0
}Halten Sie Evaluierungslogik im Monitor für einfache Überprüfungen. Wenn ein Skript einen einzelnen sauberen Wert erzeugt — eine Zahl, True/False, Enabled/Disabled — konfigurieren Sie den Vergleich im Monitor statt im Skript. Dies macht den Monitor leichter verständlich und anpassbar, ohne das Skript zu berühren.
Beginnen Sie mit einer längeren Ausführungshäufigkeit. Ein Intervall zu reduzieren ist einfach; mit dem Leistungsauswirkungen eines zu oft ausgeführten Skripts umzugehen ist schwieriger. Die hochfrequente Ausführung kann sich auf Geräte der unteren Preisklasse auswirken, besonders wenn das Skript bedeutende Arbeiten verrichtet.
Verwenden Sie osquery für plattformübergreifende Abdeckung. osquery wird auf Windows, macOS und Linux ausgeführt und zeigt den Gerätezustand über eine SQL-ähnliche Schnittstelle. Ein einzelnes osquery-Skript kann oft drei separate betriebssystemspezifische Skripte ersetzen.
Testen Sie vor der Bereitstellung. Verwenden Sie Skript testen, um das Skript gegen ein Zielgerät auszuführen und die Rohergebnis zu überprüfen, bevor der Monitor live geht. Dies erfasst Ausgabeformat-Überraschungen — zusätzliche Leerzeichen, unerwartete Zeilenumbrüche, mehrzeilige Ausgabe — bevor sie Ihren Monitor stillschweigend unterbrechen.
FAQ
Wer kann Script-Monitore erstellen und bearbeiten? Techniker mit Zugriff auf die relevante Überwachungsrichtlinie. Berechtigungseinstellungen werden unter Arbeitsbereich → Berechtigungen verwaltet.
Wie unterscheidet sich ein Script-Monitor vom Ausführen eines Skripts über eine Automatisierung? Eine Automatisierung führt ein Skript als Reaktion auf einen Trigger aus (ein Zeitplan, eine Warnung, eine manuelle Aktion). Ein Script-Monitor führt ein Skript nach einem regelmäßigen Zeitplan speziell aus, um die Geräteintegrität zu bewerten und eine Warnung auszulösen, wenn eine Bedingung erfüllt ist. Verwenden Sie Monitore für laufende Integritätsprüfungen, Automatisierungen für reaktive oder einmalige Aufgaben.
Kann ich dasselbe Skript in mehreren Monitoren verwenden? Ja. Ein einzelnes Skript kann von so vielen Monitoren wie nötig referenziert werden, über verschiedene Richtlinien hinweg. Wenn Sie das Skript aktualisieren, übernehmen alle Monitore, die es verwenden, die Änderung bei ihrer nächsten Ausführung.
Mein Script-Monitor wird nicht ausgelöst, auch wenn ich weiß, dass die Bedingung wahr ist. Was sollte ich überprüfen? Verwenden Sie Skript testen, um das Skript gegen ein Zielgerät auszuführen und die Rohergebnis zu überprüfen. Häufige Probleme: die Ausgabe hat führende/nachfolgende Leerzeichen, die eine genaue Gleich-Übereinstimmung unterbrechen, die Ausgabe ist mehrzeilig und der übereinstimmte Wert geht verloren, oder das Skript wird auf Geräten ausgeführt, die nicht dem erwarteten Betriebssystem entsprechen.
Was passiert mit offenen Script-Monitor-Warnungen, wenn ich den Monitor lösche? Vorhandene Warnungen bleiben an Ort und Stelle. Das Löschen eines Monitors schließt Warnungen nicht, die bereits erstellt wurden — lösen Sie diese manuell.











