Manchmal ist es notwendig einen Prozess oder Dienst neuzustarten um ein bestimmtes Problem zu lösen. Vielleicht haben Sie ein solches Problem in Ihrer Umgebung, für die Software gibt es keinen Patch mehr der Abhilfe schaffen kann, oder es handelt sich einfach um ein Task der regelmäßig neu angestoßen werden muss. Genau das sind typische Beispiele wo Aktionen hilfreich sein können. In diesem Artikel zeige ich Ihnen wie Sie Aktionen in Server-Eye mittels PowerShell nutzen können.

Die Macht der PowerShell

Die PowerShell ist eine mächtige Shell mit der sich fast jede Aktion umsetzen lässt. So gibt es vorgefertigte Befehle um einen Prozess zu beenden und wieder zu starten, einen Dienst und sogar den eigenen Rechner (oder einen fremden) neuzustarten.

In unserem Partnerbereich bieten wir bereits eine kurze Einführung in die PowerShell-API, also wie Sie eigene Überwachungen auf Basis eines PowerShell-Skripts erstellen können.

Die Infos finden Sie hier:

Erweiterte PowerShell Sensor Doku

Ich habe auch ein Beispielskript angehängt an diesen Eintrag, in welchem ein gewählter Prozess auf CPU und Arbeitsspeicher Verbrauch überwacht werden kann. Werden die Schwellwerte erreicht, wird der Prozess beendet und wieder gestartet.

Die Befehle dafür sind

  • Stop-Process
  • Start-Process

Für Dienste neuzustarten oder gar den PC gibt es folgende Befehle:

  • Restart-Service
  • Restart-Computer

Das Skript ist funktionsfähig, kann aber auch einfach als Anreiz für andere Szenarien genutzt werden.

 

Ausschnitt eines PowerShell Skripts
Ausschnitt Skript

 

Skript in Server-Eye einbinden[/vc_custom_heading]

Um ein Skript in Server-Eye zu nutzen müssen Sie es im Installationsverzeichnis in das Unterverzeichnis „Scripts“ kopieren. Dies liegt standardmäßig unter C:\Program Files (x86)\Server-Eye\service\current\Scripts\.

 

Wenn Sie solche System-Aktionen durchführen wollen starten Sie zur Sicherheit den Sensorhub Dienst auf dem System als Administrator starten, da sonst die PowerShell-Kommandos in einem UAC Dialog hängen bleiben könnten. Außerdem kann es durchaus sein, das Prozesse mit einer grafischen Oberfläche nicht korrekt neugestartet werden können.

 

Danach ist es über den Sensor „Erweiterte PowerShell Überprüfung“ auswählbar und lässt sich überwachen.

 

ServerEye_Auswahl

 

 

Falls Sie Argumente in Ihrem Skript nutzen wollen können Sie dies über die entsprechende Einstellung tun. In unserem Falle gibt es die Argumente

  • process
  • maxRamMB
  • maxCPU

Ich rufe das Skript also mit folgenden Parametern auf:

ServerEye_Arguments

 

Die Ausgabe des Sensors sind dann wie folgt aus:

ServerEye_Skript

 

Bzw. im Fehlerfall, wenn der Prozess zuviel schluckt so:

ServerEye_Fehler

 

Viel Spaß beim Skripten 🙂

ProcessMonitor Skript!