Einführung
Überwachen Sie alles, wofür Sie ein Skript schreiben können. Skript-Monitore führen ein Skript auf Zielgeräten nach einem festgelegten Zeitplan aus und werten die Ausgabe anhand einer von Ihnen definierten Bedingung aus – wenn die Bedingung erfüllt ist, löst Level einen Alarm aus.
Während die integrierten Monitor-Typen häufige Bedingungen abdecken (CPU, Arbeitsspeicher, Festplatte, Konnektivität), decken Skript-Monitore alles andere ab: Firewall-Status, Zertifikatsablauf, Lizenzeinhaltung, Anwendungsstatus von benutzerdefinierten Anwendungen, Konfigurationsabweichungen und jedes andere Gerätermerkmal, das Sie mit einem Skript ermitteln können. Das Skript wird lokal auf dem Gerät ausgeführt, sodass kein externer Aufruf-Overhead entsteht – nur direkter, effizienter Zugriff auf das, was das Betriebssystem melden kann.
🎬 VIDEO
Skript-Monitore
Level führt das ausgewählte Skript auf den abgedeckten Geräten mit der von Ihnen konfigurierten Häufigkeit aus. Nach jeder Ausführung liest es die vollständige Konsolenausgabe und wertet sie anhand Ihrer Skriptausgabe definierte Anzahl aufeinanderfolgender Ausführungen erfüllt ist, Wert. Wenn die Bedingung für die durch Ihre Auslöseanzahl, wird ein Alarm ausgelöst.
Die Auswertung ist bewusst einfach gehalten: Das Skript gibt etwas aus, und der Monitor prüft, ob diese Ausgabe Ihrer Bedingung entspricht. Das Skript muss nicht mit einem bestimmten Code beendet werden – die Ausgabe ist entscheidend.
ℹ️ HINWEIS: Level wertet die gesamte Ausgabe des Skripts aus, nicht nur die erste oder letzte Zeile. Beachten Sie dies beim Schreiben von Skripten, die mehrzeilige Ausgaben erzeugen.
Das Skript erstellen
Schreiben und speichern Sie das Skript, das der Monitor ausführen soll, bevor Sie den Monitor konfigurieren. Jede unterstützte Sprache funktioniert: PowerShell, Bash, Zsh, Python, Go, Ansible oder osquery.
💡 TIPP: osquery läuft auf Windows, macOS und Linux – ein einzelnes osquery-Skript kann Monitore auf allen drei Plattformen betreiben, ohne separate Skripte pro Betriebssystem pflegen zu müssen.
Das Skript sollte einen Wert oder Zustand ausgeben, den Level sauber auswerten kann – eine Zahl, eine Zeichenkette wie True/False, oder ein bekanntes Wort wie Enabled. Der Monitor vergleicht diese Ausgabe dann mit Ihrem Schwellenwert.
💡 TIPP: Bei komplexen Prüfungen, bei denen mehrere Bedingungen innerhalb des Skripts ausgewertet werden müssen, geben Sie ein bekanntes Auslösewort aus (wie ALERT) wenn die Bedingung ungesund ist, und setzen Sie den Monitor auf Enthält ALERT. Dadurch bleibt die Bestanden/Nicht-bestanden-Logik im Skript, während die Monitor-Konfiguration einfach bleibt.
Einen Skript-Monitor konfigurieren
Öffnen Sie die Ziel-Monitor-Richtlinie und fügen Sie dann einen Skript-Monitor hinzu oder bearbeiten Sie einen. Der Monitor bearbeiten Bereich wird rechts geöffnet.
Name und Typ
Geben Sie einen Namen in das Name Feld. Der Name erscheint im Alarm, also machen Sie ihn aussagekräftig – „Windows Firewall deaktiviert" ist sofort umsetzbar; „Skript-Monitor 4" ist es nicht.
Setzen Sie Typ auf Skript ausführen.
Schweregrad
Setzen Sie Schweregrad basierend auf den Auswirkungen der Bedingung, die dieses Skript erkennt:
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 läuft.
Skript
Wählen Sie das auszuführende Skript aus dem Skript Feld. 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 Rohausgabe zu überprüfen – nützlich, um zu bestätigen, dass das Skript das Erwartete zurückgibt, bevor der Monitor live geht.
Skriptausgabe
Skriptausgabe definiert, wie Level die Konsolenausgabe des Skripts mit Ihrem Wert. Die vollständige Liste der Operatoren:
Gleich — Ausgabe stimmt genau mit dem Wert überein
Ungleich — Ausgabe stimmt nicht mit dem Wert ü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 Alarm-Nutzlast. Wenn ein Alarm ausgelöst wird, ist die Ausgabe des Skripts direkt in den Alarmdetails sichtbar – alles, was Sie in die Konsole schreiben (Gerätename, erkannte Werte, Fehlerdetails), wird dort angezeigt. Nützliche Kontextinformationen in der Ausgabe machen Alarme viel einfacher zu bearbeiten, ohne weiter suchen zu müssen.
Wert
Geben Sie den Wert, mit dem die Skriptausgabe verglichen werden soll, in das Wert Feld. Geben Sie für numerische Operatoren eine Zahl ein. Geben Sie für Zeichenketten-Operatoren die genaue Zeichenkette ein.
💡 TIPP: Das empfohlene Muster ist die Ausgabe von ALERT (mit allen zusätzlichen Details, die für die Untersuchung hilfreich sind) wenn eine Bedingung ungesund ist, und setzen Sie Skriptausgabe auf Enthält ALERT. Dies funktioniert sauber mit mehrzeiliger Ausgabe, enthält alle Details, die Sie nach dem Schlüsselwort anhängen, und hält den Alarm 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. Legen Sie die Einheit fest (Minuten oder Stunden) und den Wert mithilfe des Schiebereglers oder der Auf/Ab-Pfeile. Der Bereich liegt bei 1–120 Minuten oder 1–24 Stunden.
⚠️ WARNUNG: Das Ausführen von Skripten mit sehr hoher Häufigkeit kann die Geräteleistung beeinträchtigen, insbesondere auf schwächerer Hardware oder wenn das Skript selbst ressourcenintensiv ist. Beginnen Sie mit einem längeren Intervall und reduzieren Sie es nur, wenn Ihr Anwendungsfall eine schnellere Erkennung wirklich erfordert.
Auslöseanzahl
Auslöseanzahl legt fest, wie viele aufeinanderfolgende Skriptausführungen die Bedingung erfüllen müssen, bevor Level einen Alarm erstellt. Verwenden Sie die Auf/Ab-Pfeile, um den Wert festzulegen.
Eine Auslöseanzahl von 1 löst beim ersten übereinstimmenden Durchlauf einen Alarm aus. Höhere Werte erfordern, dass die Bedingung über mehrere Durchläufe hinweg bestehen bleibt, bevor ein Alarm ausgelöst wird – nützlich für Bedingungen, die aufgrund von Timing kurzzeitig auftreten können (z. B. ein Skript, das mitten in einem Vorgang läuft).
Automatische Auflösung
Alarm automatisch auflösen, wenn er nicht mehr zutrifft schließt den Alarm automatisch, wenn eine nachfolgende Skriptausführung die Bedingung nicht mehr erfüllt. Standardmäßig aktiviert.
Lassen Sie dies für Bedingungen eingeschaltet, die sich wirklich klären (ein Wert fällt wieder unter einen Schwellenwert, eine Zeichenkette erscheint nicht mehr in der Ausgabe). Deaktivieren Sie es, wenn Alarme für die manuelle Überprüfung bestehen bleiben sollen.
Fehlerbehebung
Fügen Sie eine oder mehrere Automatisierungen hinzu, die ausgeführt werden, wenn dieser Monitor ausgelöst wird – eine Konfigurationskorrektur einspielen, einen Dienst neu starten oder Ihr Team benachrichtigen.
Klicken Sie in das Fehlerbehebung Feld und wählen Sie eine Automatisierung aus.
Um weitere hinzuzufügen, klicken Sie auf + Weitere Fehlerbehebung hinzufügen.
Um eine zu entfernen, klicken Sie auf × daneben.
ℹ️ HINWEIS: Fehlerbehebungen werden ausgeführt, wenn der Alarm erstellt wird, nicht wenn er aufgelöst wird.
Benachrichtigungen
Benachrichtigungen bei Alarmerstellung senden — Richtlinienempfänger erhalten eine E-Mail, wenn der Alarm ausgelöst wird
Benachrichtigungen bei Alarmauflösung senden — Richtlinienempfänger erhalten eine E-Mail, wenn der Alarm aufgelöst wird
Empfänger werden auf Ebene der Monitor-Richtlinie im Empfänger Abschnitt.
Den Monitor speichern
Klicken Sie auf Monitor aktualisieren um Änderungen zu speichern, oder Monitor hinzufügen beim Hinzufügen eines neuen. Der Monitor beginnt sofort zu laufen, wobei nachfolgende Ausführungen ab dem Erstellungszeitpunkt basierend auf der konfigurierten Häufigkeit geplant werden.
Beispiele und Inspiration
Vollständige, durchgearbeitete Beispiele, die zeigen, wie man ein Skript schreibt und den Monitor darum herum konfiguriert, finden Sie unter Skript-Monitor-Beispiele.
Die Level Library unter level.io/library verfügt über eine kuratierte Sammlung von einsatzbereiten Skripten und Monitor-Richtlinien, die Sie mit einem Klick in Ihr Konto importieren können. Dies ist ein guter Ausgangspunkt, ob Sie sofort etwas einsetzen möchten oder nur sehen wollen, wie andere ein bestimmtes Überwachungsproblem angegangen sind.
Bewährte Vorgehensweisen
Verwenden Sie ein ALERT Sentinel als Ihr Standard-Ausgabemuster verwenden. Der empfohlene Ansatz: Schreiben Sie Skripte so, dass sie ALERT (mit allen zusätzlichen Details danach), wenn das Gerät in einem ungesunden Zustand ist, und setzen Sie dann den Monitor auf Enthält ALERT. Dies funktioniert zuverlässig mit mehrzeiliger Ausgabe, ist in der Alarmliste leicht zu erkennen und hält die Bestanden/Nicht-bestanden-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 die Auswertungslogik für einfache Prüfungen im Monitor. Wenn ein Skript einen einzelnen sauberen Wert erzeugt – eine Zahl, True/False, Enabled/Disabled — konfigurieren Sie den Vergleich im Monitor und nicht im Skript. Dadurch ist der Monitor leichter zu verstehen und anzupassen, ohne das Skript zu berühren.
Beginnen Sie mit einer längeren Ausführungshäufigkeit. Ein Intervall zu verkürzen ist einfach; mit den Leistungsauswirkungen eines zu häufig laufenden Skripts umzugehen ist schwieriger. Hochfrequente Ausführungen können schwächere Geräte belasten, insbesondere wenn das Skript bedeutende Arbeit leistet.
osquery für plattformübergreifende Abdeckung verwenden. osquery läuft auf Windows, macOS und Linux und stellt den Gerätestatus über eine SQL-ähnliche Schnittstelle bereit. Ein einzelnes osquery-Skript kann oft drei separate betriebssystemspezifische Skripte ersetzen.
Vor der Bereitstellung testen. Verwenden Sie Skript testen um das Skript gegen ein Zielgerät auszuführen und die Rohausgabe zu überprüfen, bevor der Monitor live geht. Damit werden Überraschungen beim Ausgabeformat entdeckt – zusätzliche Leerzeichen, unerwartete Zeilenumbrüche, mehrzeilige Ausgabe – bevor sie Ihren Monitor stillschweigend beeinträchtigen.
Häufig gestellte Fragen
Wer kann Skript-Monitore erstellen und bearbeiten? Techniker mit Zugriff auf die relevante Monitor-Richtlinie. Berechtigungseinstellungen werden in Arbeitsbereich → Berechtigungen.
Wie unterscheidet sich ein Skript-Monitor vom Ausführen eines Skripts über eine Automatisierung? Eine Automatisierung führt ein Skript als Reaktion auf einen Auslöser aus (einen Zeitplan, einen Alarm, eine manuelle Aktion). Ein Skript-Monitor führt ein Skript nach einem wiederkehrenden Zeitplan aus, speziell um den Gerätezustand zu bewerten und einen Alarm auszulösen, wenn eine Bedingung erfüllt ist. Verwenden Sie Monitore für fortlaufende Zustandsprüfungen und 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 Skript-Monitor löst keinen Alarm aus, obwohl ich weiß, dass die Bedingung zutrifft. Was sollte ich überprüfen? Verwenden Sie Skript testen um das Skript gegen ein Zielgerät auszuführen und die Rohausgabe zu überprüfen. Häufige Probleme: Die Ausgabe hat führende/nachfolgende Leerzeichen, die eine exakte Gleich übereinstimmen, die Ausgabe mehrzeilig ist und der übereinstimmende Wert verloren geht, oder das Skript auf Geräten ausgeführt wird, die nicht dem erwarteten Betriebssystem entsprechen.
Was passiert mit offenen Skript-Monitor-Alarmen, wenn ich den Monitor lösche? Vorhandene Alarme bleiben bestehen. Das Löschen eines Monitors schließt keine bereits erstellten Alarme – lösen Sie diese manuell auf.











