Zum Hauptinhalt springen

Skript-Monitor ausführen

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

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, gibt Level eine Warnung 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, Lizenz-Compliance, benutzerdefinierte Anwendungsintegrität, Konfigurationsdrift und jedes andere Gerätemerkmal, 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 alles, was das Betriebssystem melden kann.


🎬 VIDEO


Skript-Monitore

Level führt das ausgewählte Skript auf den betroffenen Geräten in der von Ihnen konfigurierten Häufigkeit aus. Nach jeder Ausführung liest es die vollständige Konsolenausgabe und wertet sie anhand Ihrer Skriptausgabe Bedingung und Wert. Wenn die Bedingung für die Anzahl aufeinanderfolgender Ausführungen erfüllt ist, die durch Ihren Auslöseanzahl, wird eine Warnung ausgelöst.

Die Auswertung ist bewusst einfach gehalten: Das Skript gibt etwas aus, der Monitor prüft, ob diese Ausgabe mit Ihrer Bedingung übereinstimmt. Das Skript muss nicht mit einem bestimmten Code beendet werden – die Ausgabe ist entscheidend.

ℹ️ HINWEIS: Level wertet alle Ausgaben 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, 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 antreiben, 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 dann diese Ausgabe mit Ihrem Schwellenwert.

Create Script

💡 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ältALERT. Dadurch bleibt die Bestehen/Fehlschlagen-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 vorhandenen. Der Monitor bearbeiten Bereich öffnet sich auf der rechten Seite.

Name und Typ

  1. Geben Sie einen Namen in das Name Feld. Der Name erscheint in der Warnung, machen Sie ihn daher aussagekräftig – „Windows-Firewall deaktiviert" ist sofort umsetzbar; „Skript-Monitor 4" ist es nicht.

  2. Setzen Sie Typ auf Skript ausführen.

Uptime Monitor

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, die das ausgewählte Betriebssystem verwenden.

OS Selection

Skript

Wählen Sie das auszuführende Skript aus dem Skript Feld. Klicken Sie auf das Link-Symbol, um das Skript zu öffnen und es zu überprüfen oder zu bearbeiten. Klicken Sie auf Skript testen um das Skript sofort gegen die Zielgeräte auszuführen und die Rohausgabe zu untersuchen – nützlich, um zu bestätigen, dass das Skript das zurückgibt, was Sie erwarten, bevor der Monitor aktiv wird.

Script Selection

Skriptausgabe

Skriptausgabe legt fest, 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

Script Output

ℹ️ HINWEIS: Die vollständige Konsolenausgabe Ihres Skripts wird zur Warnungs-Nutzlast. Wenn eine Warnung ausgelöst wird, ist die Skriptausgabe direkt in den Warnungsdetails sichtbar – alles, was Sie auf der Konsole ausgeben (Gerätename, erkannte Werte, Fehlerdetails), erscheint dort. Nützliche Kontextinformationen in Ihre Ausgabe zu schreiben, macht Warnungen viel einfacher zu bearbeiten, ohne weiter nachforschen zu müssen.

ℹ️ HINWEIS: Die Ausführungshäufigkeit steuert, wie oft Level die Skriptausgabe auswertet. Warnungs-Nutzlasten sind keine vollständige Zeitreihe jeder Skriptausführung. Um alle Messwerte für die Analyse zu speichern, lassen Sie Ihr Skript zeitgestempelte Stichproben an eine lokale CSV-Datei auf dem Gerät anhängen und rufen Sie diese Datei dann nach der Auswertung ab. Beachten Sie dabei Dateigröße, Berechtigungen und Bereinigung.

Wert

Geben Sie den Wert, mit dem die Skriptausgabe verglichen werden soll, in das Wert Feld. Geben Sie bei numerischen Operatoren eine Zahl ein. Geben Sie bei Zeichenkettenoperatoren die genaue Zeichenkette ein.

Output

💡 TIPP: Das empfohlene Muster ist, ALERT (mit allen zusätzlichen Details, die für die Untersuchung hilfreich sind) wenn eine Bedingung ungesund ist, und setzen Sie Skriptausgabe auf EnthältALERT. Dies funktioniert problemlos mit mehrzeiliger Ausgabe, enthält alle Details, die Sie nach dem Schlüsselwort anhängen, und hält die Warnung lesbar. Setzen Sie den Monitor auf Enthält nichtALERT wenn Sie die Logik umkehren möchten.

Ausführungshäufigkeit

Ausführungshäufigkeit steuert, wie oft das Skript auf den Zielgeräten ausgeführt wird. Legen Sie die Einheit fest (Minuten oder Stunden) und den Wert mit dem Schieberegler oder den Pfeiltasten nach oben/unten. Der Bereich ist 1–120 Minuten oder 1–24 Stunden.

Run Frequency

⚠️ WARNUNG: Das Ausführen von Skripten mit sehr hoher Häufigkeit kann die Geräteleistung beeinträchtigen, insbesondere bei Hardware mit niedrigeren Spezifikationen 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 eine Warnung erstellt. Verwenden Sie die Pfeiltasten nach oben/unten, um den Wert festzulegen.

Eine Auslöseanzahl von 1 löst bei der ersten übereinstimmenden Ausführung eine Warnung aus. Höhere Werte erfordern, dass die Bedingung über mehrere Ausführungen hinweg bestehen bleibt, bevor eine Warnung 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 ausgeführt wird).

Trigger Count

Automatisches Auflösen

Warnung automatisch auflösen, wenn sie nicht mehr zutrifft schließt die Warnung automatisch, wenn eine nachfolgende Skriptausführung die Bedingung nicht mehr erfüllt. Standardmäßig aktiviert.

Lassen Sie diese Option aktiviert für Bedingungen, die sich tatsächlich auflösen (ein Wert sinkt wieder unter einen Schwellenwert, eine Zeichenkette erscheint nicht mehr in der Ausgabe). Deaktivieren Sie sie, wenn Warnungen zur manuellen Überprüfung bestehen bleiben sollen.

Auto-Resolve

Behebung

Fügen Sie eine oder mehrere Automatisierungen hinzu, die ausgeführt werden sollen, wenn dieser Monitor auslöst – eine Konfigurationskorrektur übertragen, einen Dienst neu starten oder Ihr Team benachrichtigen.

  1. Klicken Sie in das Behebung Feld und wählen Sie eine Automatisierung aus.

  2. Um weitere hinzuzufügen, klicken Sie auf + Weitere Behebung hinzufügen.

  3. Um eine zu entfernen, klicken Sie auf × daneben.

Run script monitor Remediation controls

ℹ️ HINWEIS: Behebungen werden ausgeführt, wenn die Warnung erstellt wird, nicht wenn sie aufgelöst wird.


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 die Warnung aufgelöst wird

Empfänger werden auf Ebene der Monitor-Richtlinie im Empfänger Abschnitt.

Notifications

Den Monitor speichern

Klicken Sie auf Monitor aktualisieren um Änderungen zu speichern, oder Monitor hinzufügen beim Hinzufügen eines neuen Monitors. Der Monitor beginnt sofort mit der Ausführung, und nachfolgende Ausführungen werden ab dem Erstellungszeitpunkt basierend auf der konfigurierten Häufigkeit geplant.


Beispiele und Inspiration

Für vollständige Arbeitsbeispiele, die zeigen, wie man ein Skript schreibt und den Monitor darum herum konfiguriert, siehe Skript-Monitor-Beispiele.

Die Level-Bibliothek unter level.io/library verfügt über eine kuratierte Sammlung einsatzbereiter Skripte und Monitor-Richtlinien, die Sie mit einem Klick in Ihr Konto importieren können. Dies ist ein guter Ausgangspunkt, egal ob Sie etwas sofort einsetzen möchten oder einfach 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 sich in einem ungesunden Zustand befindet, und setzen Sie dann den Monitor auf EnthältALERT. Dies funktioniert zuverlässig mit mehrzeiliger Ausgabe, ist in der Warnungsliste leicht zu scannen und hält die Bestehen/Fehlschlagen-Logik im Skript, wo sie hingehört.

PowerShell-Skript

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

Auswertungslogik für einfache Prüfungen im Monitor belassen. Wenn ein Skript einen einzelnen sauberen Wert erzeugt – eine Zahl, True/False, Enabled/Disabled — konfigurieren Sie den Vergleich im Monitor statt im Skript. Dadurch ist der Monitor leichter zu verstehen und anzupassen, ohne das Skript anfassen zu müssen.

Mit einer längeren Ausführungshäufigkeit beginnen. Ein Intervall zu verringern ist einfach; mit den Leistungsauswirkungen eines zu häufig ausgeführten Skripts umzugehen ist schwieriger. Hochfrequente Ausführung kann Geräte mit niedrigeren Spezifikationen beeinträchtigen, besonders wenn das Skript bedeutungsvolle Arbeit verrichtet.

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 untersuchen, bevor der Monitor aktiv wird. Dies erfasst Überraschungen beim Ausgabeformat – zusätzliche Leerzeichen, unerwartete Zeilenumbrüche, mehrzeilige Ausgabe – bevor sie Ihren Monitor stillschweigend zum Scheitern bringen.


Häufig gestellte Fragen

  • Wer kann Skript-Monitore erstellen und bearbeiten? Techniker mit Zugriff auf die entsprechende 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, eine Warnung, eine manuelle Aktion). Ein Skript-Monitor führt ein Skript nach einem wiederkehrenden Zeitplan aus, speziell 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 Skript-Monitor löst keine Warnung aus, obwohl ich weiß, dass die Bedingung zutrifft. Was sollte ich prüfen? Verwenden Sie Skript testen um das Skript gegen ein Zielgerät auszuführen und die Rohausgabe zu untersuchen. 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 gegen Geräte ausgeführt wird, die nicht dem erwarteten Betriebssystem entsprechen.

  • Was passiert mit offenen Skript-Monitor-Warnungen, wenn ich den Monitor lösche? Vorhandene Warnungen bleiben bestehen. Das Löschen eines Monitors schließt keine bereits erstellten Warnungen – lösen Sie diese manuell auf.

Hat dies deine Frage beantwortet?