Konfiguration¶
Das Modul ProcessMonitor enthält alle Konfigurationswerte für diese Erweiterung. Unten findest du das zugehörige Schema sowie Erläuterungen zu den einzelnen Parametern und eine vollständige Beispielkonfiguration.
Konfigurationsschema¶
Module
ProcessMonitor
Must not be empty.
Minimum value:
1Maximum value:
65535
Default Value:
17692
Must not be empty.
Must not be empty.
Must not be empty.
Der Wert processMonitorHost¶
Mit diesem Wert gibst du den Hostnamen oder die IP-Adresse des Process Monitor-Servers an. Der Eintrag ist erforderlich und darf nicht leer sein.
<Module name="ProcessMonitor">
<Value name="processMonitorHost">host01.example.com</Value>
<Value name="apiKey">[key]</Value>
<Value name="apiSecret">[secret]</Value>
(...)
</Module>
Der Wert processMonitorPort¶
Dieser optionale Wert definiert den Port, über den der Process Monitor-Host die API bereitstellt. Standardmäßig wird Port 17692 verwendet. Gültige Werte liegen im Bereich von 1 bis 65535.
<Module name="ProcessMonitor">
<Value name="processMonitorHost">host01.example.com</Value>
<Value name="processMonitorPort">9008</Value>
<Value name="apiKey">[key]</Value>
<Value name="apiSecret">[secret]</Value>
(...)
</Module>
Der Wert apiKey¶
Dieser erforderliche Wert enthält den API-Schlüssel zur Authentifizierung gegenüber dem Process Monitor. Der Schlüssel muss gesetzt sein und darf nicht leer sein.
Weitere Informationen zum Secret-System findest du im Abschnitt Das Secret System.
<Module name="ProcessMonitor">
<Value name="processMonitorHost">host01.example.com</Value>
<Value name="apiKey">[key]</Value>
<Value name="apiSecret">[secret]</Value>
(...)
</Module>
Der Wert apiSecret¶
Hier gibst du das zugehörige Secret für die Authentifizierung beim Process Monitor an. Auch dieser Wert ist zwingend erforderlich und darf nicht leer sein.
Weitere Informationen zum Secret-System findest du im Abschnitt Das Secret System.
<Module name="ProcessMonitor">
<Value name="processMonitorHost">host01.example.com</Value>
<Value name="apiKey">[key]</Value>
<Value name="apiSecret">[secret]</Value>
(...)
</Module>
Der Wert processFilter¶
Mit dem optionalen Wert processFilter kannst du mithilfe eines Filterausdrucks in einer domänenspezifischen Sprache die Prozessliste einschränken. Dadurch werden nur Prozesse angezeigt, die dem angegebenen Ausdruck entsprechen. Der Wert darf nicht leer sein, wenn er gesetzt wird.
Wie du Filterausdrücke definierst, erfährst du im Kapitel Filterausdrücke.
<Module name="ProcessMonitor">
(...)
<Value name="processFilter"><![CDATA[
<Not>
<Value name="name">
<Or>
<Matches caseSensitivity="CaseInsensitive">msvsmon</Matches>
<Matches caseSensitivity="CaseInsensitive">wfcrun32</Matches>
</Or>
</Value>
</Not>
]]></Value>
</Module>
Filterfelder¶
Die folgenden Felder kannst du im Filterausdruck verwenden:
Name |
Typ |
Beschreibung |
|---|---|---|
|
Text |
Name des Computers, auf dem der Prozess läuft. |
|
Zahl |
ID des Prozesses (PID). |
|
Text |
Name des Prozesses. Je nach Quelle kann dieser ein |
|
Text |
Absoluter Pfad zur Prozessdatei. |
|
Text |
Benutzername des Prozessbesitzers inkl. Domäne. |
|
Zahl |
Gesamte CPU-Zeit des Prozesses in Millisekunden. |
|
Zahl |
CPU-Zeit im Benutzermodus in Millisekunden. |
|
Zahl |
Aktuelle Größe des Working Sets in Byte. |
|
Zahl |
Aktuelle virtuelle Größe des Prozesses in Byte. |
|
Zahl |
Aktuelle CPU-Auslastung des Prozesses (Wert zwischen |
Der Wert maximumProcessCount¶
Mit diesem optionalen Wert legst du fest, wie viele Prozesse maximal vom Process Monitor-System abgerufen werden sollen. Standardmäßig ist der Wert auf 500 gesetzt. Er kann beliebig im Bereich von 1 bis 65535 angepasst werden.
<Module name="ProcessMonitor">
(...)
<Value name="maximumProcessCount">1000</Value>
(...)
</Module>
Die Gruppe taskKillCommand¶
Mit dieser optionalen Gruppe konfigurierst du den Befehl, der zum Beenden von Prozessen verwendet wird.
Standardmäßig kommt folgender Befehl zum Einsatz:
PS > taskkill.exe /S {host} /PID {pid} /T /F
Der Assistent wertet die Konsolenausgabe aus, um den Erfolg zu bestimmen:
- Wird der Text ERROR: erkannt, gilt der Befehl als fehlgeschlagen und der Assistent bricht mit einer Fehlermeldung ab.
- Enthält die Ausgabe zusätzlich not found, wird nur ein Protokolleintrag erzeugt – der Assistent läuft in diesem Fall weiter.
Dies tritt auf, wenn ein Prozess zwischen Auswahl und Ausführung bereits beendet wurde.
Warnung
Diese Konfiguration ist ausschließlich für Testzwecke gedacht und sollte in produktiven Umgebungen nicht geändert werden.
Die Gruppe sendMessageCommand¶
Mit dieser optionalen Gruppe definierst du den Befehl, der zur Benachrichtigung von Benutzern eingesetzt wird.
Standardmäßig wird folgender Befehl verwendet:
PS > msg.exe {username} /server:{host}
Die Nachricht wird über STDIN an das Kommando übergeben und mit Ctrl+Z abgeschlossen.
Zur Erfolgskontrolle wird der Exit-Code des Befehls geprüft: - Ist der Code ungleich Null, wird der Befehl als fehlgeschlagen gewertet. - Einzelne Fehlschläge führen nicht zum Abbruch des Assistenten. - Ein Abbruch erfolgt nur, wenn mehr als fünf Befehle am Anfang der Liste scheitern oder kein Versand erfolgreich war.
Warnung
Auch diese Einstellung dient nur zu Testzwecken und sollte im Regelbetrieb nicht angepasst werden.
Beispielkonfiguration¶
Im Folgenden findest du eine vollständige Beispielkonfiguration für das ProcessMonitor-Modul:
1<?xml version="1.0" encoding="UTF-8" ?>
2<Configuration
3 version="1"
4 xmlns="http://educateit.ch/software/BlueStone/Configuration/1">
5
6 <Module name="ProcessMonitor">
7 <Value name="processMonitorHost">[process monitor host]</Value>
8 <Value name="apiKey">[key]</Value>
9 <Value name="apiSecret">[secret]</Value>
10 <Value name="processFilter"><![CDATA[
11 <Not>
12 <Value name="name">
13 <Or>
14 <Matches caseSensitivity="CaseInsensitive">msvsmon</Matches>
15 <Matches caseSensitivity="CaseInsensitive">wfcrun32</Matches>
16 </Or>
17 </Value>
18 </Not>
19 ]]></Value>
20 </Module>
21</Configuration>