Zum Hauptinhalt springen

Skript-Monitor ausführen

Überwachen Sie jede Gerätebedingung, indem Sie ein Skript ausführen und seine Ausgabe gegen einen Schwellenwert oder eine Zeichenfolgenübereinstimmung auswerten.

Heute aktualisiert

Introduction

Überwachen Sie alles, für das Sie ein Script schreiben können. Script-Monitore führen ein Script auf Zielgeräten nach einem festgelegten Zeitplan aus und evaluieren die Ausgabe gegen eine Bedingung, die Sie definieren — wenn die Bedingung erfüllt ist, löst Level eine Warnung aus.

Während die integrierten Monitor-Typen allgemeine 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 Script offenlegen können. Das Script wird lokal auf dem Gerät ausgeführt, daher gibt es keinen Overhead für externe Aufrufe — nur direkten, effizienten Zugriff auf alles, das das Betriebssystem melden kann.


🎬 VIDEO


Script Monitors

Level führt das ausgewählte Script auf abgedeckten Geräten mit Ihrer konfigurierten Häufigkeit aus. Nach jeder Ausführung liest es die vollständige Konsolenausgabe und evaluiert sie gegen IhrScript output condition and Value. Wenn die Bedingung für die Anzahl der aufeinanderfolgenden Durchläufe erfüllt ist, die durch Ihr definiert werdenTrigger count, wird eine Warnung ausgelöst.

Die Evaluierung ist absichtlich einfach: das Script gibt etwas aus, der Monitor überprüft, ob diese Ausgabe Ihrer Bedingung entspricht. Das Script muss nicht mit einem bestimmten Code beendet werden — die Ausgabe ist das, was zählt.

ℹ️ NOTE:Level evaluiert die gesamte Ausgabe des Scripts, nicht nur die erste oder letzte Zeile. Beachten Sie dies beim Schreiben von Scripts, die mehrzeilige Ausgabe erzeugen.


Erstellen Sie das Script

Bevor Sie den Monitor konfigurieren, schreiben Sie das Script, das er ausführt, und speichern Sie es. Jede unterstützte Sprache funktioniert: PowerShell, Bash, Zsh, Python, Go, Ansible oder osquery.

💡 TIP:osquery läuft auf Windows, macOS und Linux — ein einzelnes osquery-Script kann Monitore auf allen drei Plattformen unterstützen, ohne separate Scripts pro Betriebssystem zu verwalten.

Das Script sollte einen Wert oder Status ausgeben, den Level sauber evaluieren kann — eine Zahl, eine Zeichenfolge wieTrue/False, oder ein bekanntes Wort wieEnabled. Der Monitor vergleicht diese Ausgabe dann mit Ihrem Schwellenwert.

Create Script

💡 TIP:Für komplexe Überprüfungen, bei denen mehrere Bedingungen innerhalb des Scripts evaluiert werden müssen, geben Sie ein bekanntes Trigger-Wort aus (wieALERT), wenn die Bedingung unhygienisch ist, und setzen Sie den Monitor aufContains ALERT. Dies hält die Pass/Fail-Logik im Script, während die Monitor-Konfiguration einfach bleibt.


Konfigurieren Sie einen Script-Monitor

Öffnen Sie die Zielmonitor-Richtlinie und fügen Sie dann einen Script-Monitor hinzu oder bearbeiten ihn. DasMonitor bearbeitenFenster wird auf der rechten Seite geöffnet.

Name und Typ

  1. Geben Sie einen Namen in dasNameFeld ein. Der Name wird in der Warnung angezeigt, also machen Sie ihn aussagekräftig — "Windows Firewall deaktiviert" ist sofort handlungsfähig; "Script-Monitor 4" ist es nicht.

  2. Set Typ to Run script.

Uptime Monitor

Schweregrad

Set Schweregradbasierend auf der Auswirkung der Bedingung, die dieses Script erkennt:

  • Information

  • Warnung

  • Kritisch

  • Notfall

Operating System

Wählen Sie das Betriebssystem aus, auf dem das Script ausgeführt werden soll:Windows, macOS, or Linux. Der Monitor wird nur auf Geräten ausgeführt, auf denen das ausgewählte Betriebssystem läuft.

OS Selection

Script

Wählen Sie das auszuführende Script aus demScriptFeld aus. Klicken Sie auf das Link-Symbol, um das Script zu öffnen und zu überprüfen oder zu bearbeiten. KlickTest scriptUm das Script sofort auf Zielgeräten auszuführen und die Rohausgabe zu inspizieren — nützlich zum Bestätigen, dass das Script das zurückgibt, was Sie erwartet, bevor der Monitor live geht.

Script Selection

Script Output

Script outputDefiniert, wie Level die Konsolenausgabe des Scripts mit Ihrem vergleichtValue. Die vollständige Liste der Operatoren:

  • Equals— Ausgabe stimmt genau mit dem Wert überein

  • Does not equal— Ausgabe stimmt nicht mit dem Wert überein

  • Contains— Ausgabe enthält den Wert als Teilzeichenfolge

  • Enthält nicht— Ausgabe enthält den Wert nicht

  • Greater than— Ausgabe (numerisch) ist größer als der Wert

  • Größer oder gleich— Ausgabe (numerisch) ist größer als oder gleich dem Wert

  • Less than— Ausgabe (numerisch) ist kleiner als der Wert

  • Kleiner oder gleich— Ausgabe (numerisch) ist kleiner als oder gleich dem Wert

Script Output

ℹ️ NOTE:Die gesamte Konsolenausgabe Ihres Scripts wird zur Warn-Payload. Wenn eine Warnung ausgelöst wird, ist die Ausgabe des Scripts direkt in den Warn-Details sichtbar — also alles, was Sie auf der Konsole schreiben (Gerätename, erkannte Werte, Fehlerdetails), wird dort angezeigt. Das Schreiben nützlicher Kontexte in Ihre Ausgabe macht Warnungen viel leichter zu verwalten, ohne weiter graben zu müssen.

Value

Geben Sie den Wert ein, um die Script-Ausgabe mit demValueFeld zu vergleichen. Geben Sie für numerische Operatoren eine Zahl ein. Geben Sie für String-Operatoren die genaue Zeichenfolge ein.

Output

💡 TIP:Das empfohlene Muster ist die AusgabeALERT(mit allen zusätzlichen Details, die zur Untersuchung nützlich sind), wenn eine Bedingung unhygienisch ist, und setzen SieScript output to Contains ALERT. Dies funktioniert sauber mit mehrzeiliger Ausgabe, enthält alle Details, die Sie nach dem Stichwort anhängen, und hält die Warnung lesbar. Setzen Sie den Monitor aufEnthält nicht ALERTWenn Sie die Logik umkehren möchten.

Run Frequency

Run frequencySteuert, wie oft das Script auf Zielgeräten ausgeführt wird. Legen Sie die Einheit fest (Minutes or Hours) und den Wert mit dem Schieberegler oder den Auf-/Ab-Pfeilen. Der Bereich liegt zwischen 1 und 120 Minuten oder 1 bis 24 Stunden.

Run Frequency

⚠️ WARNING:Das Ausführen von Scripts mit sehr hoher Häufigkeit kann die Geräteleistung beeinflussen, besonders auf Hardware mit niedrigerer Spezifikation oder wenn das Script selbst ressourcenintensiv ist. Beginnen Sie mit einem längeren Intervall und reduzieren Sie es nur, wenn Ihr Anwendungsfall wirklich schnellere Erkennung erfordert.

Trigger Count

Trigger countDefiniert, wie viele aufeinanderfolgende Script-Läufe die Bedingung erfüllen müssen, bevor Level eine Warnung erstellt. Verwenden Sie die Auf-/Ab-Pfeile, um den Wert festzulegen.

Eine Trigger-Anzahl von 1 löst bei der ersten übereinstimmenden Ausführung eine Warnung aus. Höhere Werte erfordern, dass die Bedingung über mehrere Läufe hinweg bestehen bleibt — nützlich für Bedingungen, die möglicherweise kurzzeitig aufgrund von Timing auftreten (z. B. ein Script, das mitten in einer Operation läuft).

Trigger Count

Automatisch auflösen

Auto-resolve alert if it is no longer applicableSchließt die Warnung automatisch, wenn eine nachfolgende Script-Ausführung nicht mehr der Bedingung entspricht. Standardmäßig aktiviert.

Lassen Sie dies aktiviert für Bedingungen, die sich wirklich klären (ein Wert fällt unter einen Schwellenwert zurück, eine Zeichenfolge wird nicht mehr in der Ausgabe angezeigt). Deaktivieren Sie es, wenn Warnungen zur manuellen Überprüfung bestehen bleiben sollen.

Auto-Resolve


Abhilfe

Fügen Sie eine oder mehrere Automatisierungen an, die ausgeführt werden sollen, wenn dieser Monitor ausgelöst wird — pushen Sie eine Konfigurationskorrektur, starten Sie einen Dienst neu oder benachrichtigen Sie Ihr Team.

  1. Click in the AbhilfeFeld und wählen Sie eine Automatisierung.

  2. Um mehr hinzuzufügen, klicken Sie+ Add another remediation.

  3. Um einen zu entfernen, klicken Sie auf das× next to it.

Remediation

ℹ️ NOTE:Remediationen werden ausgeführt, wenn die Warnung erstellt wird, nicht wenn sie behoben wird.


Benachrichtigungen

  • Send notifications on alert creation— Richtlinienempfänger erhalten eine E-Mail, wenn die Warnung ausgelöst wird

  • Send notifications on alert resolution— Richtlinienempfänger erhalten eine E-Mail, wenn die Warnung behoben wird

Empfänger werden auf Monitor-Richtlinienebene verwaltet, in derEmpfänger section.

Notifications


Saving the Monitor

Click Update monitorUm Änderungen zu speichern, oderAdd monitorBeim Hinzufügen eines neuen. Der Monitor beginnt sofort zu laufen, mit nachfolgenden Läufen geplant ab dem Zeitpunkt der Erstellung basierend auf Ihrer konfigurierten Häufigkeit.


Beispiele und Inspiration

Für durchgehende Beispiele, die zeigen, wie Sie ein Script schreiben und den Monitor drumherum konfigurieren, sieheScript-Monitor-Beispiele.

The Level Library at level.io/libraryhat eine kuratierte Sammlung von vorgefertigten Scripts und Monitor-Richtlinien, die Sie mit einem Klick in Ihr Konto importieren können. Es ist ein guter Ausgangspunkt, wenn Sie etwas sofort bereitstellen oder nur sehen möchten, wie andere ein bestimmtes Überwachungsproblem gelöst haben.


Best Practices

Use an ALERTSentinel als Ihr Standard-Ausgabemuster.Der empfohlene Ansatz: schreiben Sie Scripts, umALERT(mit zusätzlichen Details danach) auszugeben, wenn das Gerät in einem unhygienischen Zustand ist, und setzen Sie dann den Monitor aufContains ALERT. Dies funktioniert zuverlässig mit mehrzeiliger Ausgabe, ist leicht in der Warnliste zu scannen und behält die Pass/Fail-Logik im Script, wo sie hingehört.

PowerShell-Script

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

Halten Sie die Evaluierungslogik im Monitor für einfache Überprüfungen.Wenn ein Script einen einzelnen sauberen Wert erzeugt — eine Zahl,True/False, Enabled/Disabled— konfigurieren Sie den Vergleich im Monitor, anstatt im Script. Dies macht den Monitor einfacher zu verstehen und anzupassen, ohne das Script zu berühren.

Beginnen Sie mit einer längeren Laufhäufigkeit.Das Reduzieren eines Intervalls ist einfach; Der Umgang mit Leistungsauswirkungen von einem Script, das zu oft läuft, ist schwieriger. Eine hohe Häufigkeit kann niedrigspezifische Geräte beeinflussen, besonders wenn das Script sinnvolle Arbeit leistet.

Verwenden Sie osquery für plattformübergreifende Abdeckung.osquery läuft auf Windows, macOS und Linux und exponiert Gerätestatus über eine SQL-ähnliche Schnittstelle. Ein einzelnes osquery-Script kann oft drei separate betriebssystemspezifische Scripts ersetzen.

Vor dem Bereitstellen testen. Use Test scriptUm das Script auf einem Zielgerät auszuführen und die Rohausgabe zu inspizieren, bevor der Monitor live geht. Dies fängt Ausgabeformat-Überraschungen ein — zusätzliche Leerzeichen, unerwartete Zeilenumbrüche, mehrzeilige Ausgabe — bevor sie Ihren Monitor stillschweigend brechen.


FAQ

  • Wer kann Script-Monitore erstellen und bearbeiten?Techniker mit Zugriff auf die relevante Monitor-Richtlinie. Berechtigungseinstellungen werden unterWorkspace → Permissions.

  • Wie unterscheidet sich ein Script-Monitor vom Ausführen eines Scripts über eine Automatisierung?Eine Automatisierung führt ein Script als Antwort auf einen Trigger aus (ein Zeitplan, eine Warnung, eine manuelle Aktion). Ein Script-Monitor führt ein Script nach einem wiederkehrenden Zeitplan aus, speziell um die Geräteintegrität zu evaluieren 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 das gleiche Script in mehreren Monitoren verwenden?Ja. Ein einzelnes Script kann von so vielen Monitoren wie nötig referenziert werden, über verschiedene Richtlinien hinweg. Wenn Sie das Script aktualisieren, werden alle Monitore, die es verwenden, die Änderung beim nächsten Lauf aufgreifen.

  • Mein Script-Monitor wird nicht ausgelöst, obwohl ich weiß, dass die Bedingung wahr ist. Was sollte ich überprüfen? Use Test scriptUm das Script auf einem Zielgerät auszuführen und die Rohausgabe zu inspizieren. Häufige Probleme: die Ausgabe hat führende/nachfolgende Leerzeichen, die eine exakteEqualsÜbereinstimmung brechen, die Ausgabe ist mehrzeilig und der übereinstimmende Wert geht verloren, oder das Script läuft auf Geräten, die nicht dem erwarteten Betriebssystem entsprechen.

  • Was passiert mit offenen Script-Monitor-Warnungen, wenn ich den Monitor lösche?Vorhandene Warnungen bleiben bestehen. Das Löschen eines Monitors schließt nicht die bereits erstellten Warnungen — beheben Sie diese manuell.

Hat dies deine Frage beantwortet?