Process Monitor Erweiterung¶
Einleitung¶
Die Process Monitor Data Erweiterung verbindet sich mit einem laufenden Process Monitor Collector-Dienst und integriert die Prozessdaten in das Raptor System. Es werden Prozess- und Anwendungsobjekte erstellt, aber es können auch Prozessdaten an vorhandene Computer- und Benutzerobjekte angehängt werden.
Anforderungen¶
Es muss ein laufender Process Monitor Collector-Dienst vorhanden sein.
Features¶
Integriert die Prozessdaten von einem Process Monitor Collector-Dienst in das Raptor System.
Fügt Prozessinformationen zu vorhandenen Benutzer- und Computerobjekten hinzu.
Die Felder der Prozesstabelle können konfiguriert werden.
Benutzerdefinierte Aktionen können für jede Zeile konfiguriert werden.
Fakten¶
Name |
Process Monitor Data |
Bezeichner |
|
Version |
1.0 |
Enthaltene Module |
Source |
Abschnitte |
|
Informationsblöcke |
|
Konfiguration¶
Das Konfigurationsschema¶
Module
ProcessMonitorData
Must not be empty.
Must not be empty.
Must not be empty.
Must not be empty.
Must not be empty.
Maximum length:
64
Must match this regular expression:
[-_.a-z0-9]+
Default Value:
unknown
Default Value:
No
Must not be empty.
List
Complex list definition
Must not be empty.
Maximum length:
64
Der Wert ApiHost
¶
Mit dem erforderlichen Wert ApiHost
gibst du den Hostnamen oder die IP-Adresse des Servers an, auf dem der Process Monitor Collector Dienst läuft.
1<Module name="ProcessMonitorData">
2 <Value name="ApiHost">host01.example.com</Value>
3 <Value name="SslProfile">process-monitor</Value>
4 <Value name="ApiKey">[key]</Value>
5 <Value name="ApiSecret">[secret]</Value>
6 ...
7</Module>
Der Wert ApiPort
¶
Mit dem optionalen Wert ApiPort
legst du den Port fest, auf dem der Process Monitor Collector Dienst läuft. Wenn du diesen Wert weglässt, wird der Standardport 17691 verwendet.
1<Module name="ProcessMonitorData">
2 <Value name="ApiHost">host01.example.com</Value>
3 <Value name="ApiPort">17691</Value>
4 <Value name="SslProfile">process-monitor</Value>
5 <Value name="ApiKey">[key]</Value>
6 <Value name="ApiSecret">[secret]</Value>
7 ...
8</Module>
Der Wert SslProfile
¶
Mit SslProfile
bestimmst du die SSL-Konfiguration für deine Verbindung. Stelle sicher, dass der Name, den du hier einfügst, in der Liste profiles
im SSL
Konfigurationsmodul vorhanden ist. In Kapitel Eigene SSL Zertifikate verwenden erfährst du mehr darüber, wie du das SSL-Profil richtig einrichtest.
Du hast auch die Möglichkeit, diesen Wert auf legacy
zu setzen. Das ist besonders hilfreich, wenn du eine Migration durchführen oder ältere Installationen unterstützen möchtest. In diesem Fall verwendet das System die integrierten Zertifikate, die mit älteren Versionen des Process Monitor Systems kompatibel sind.
Warnung
Wir empfehlen allerdings ausdrücklich, immer eigene Zertifikate und Schlüssel zu verwenden. Diese sollten den korrekten Servernamen enthalten und von einer internen Zertifizierungsstelle deines Unternehmens ausgestellt werden. Mit dieser Methode stellst du sicher, dass deine Verbindung sicher und authentifiziert ist.
1<Module name="ProcessMonitorData">
2 <Value name="ApiHost">host01.example.com</Value>
3 <Value name="SslProfile">process-monitor</Value>
4 <Value name="ApiKey">[key]</Value>
5 <Value name="ApiSecret">[secret]</Value>
6 <Value name="ApiPort">17691</Value>
7 ...
8</Module>
Der Wert ApiKey
¶
Der Wert ApiKey
muss ein gültiger API-Schlüssel sein, der im Process Monitor Collector Dienst angegeben ist. Verwende den EducateIT Secret Generator um gültige Schlüsselpaare zu erzeugen.
1<Module name="ProcessMonitorData">
2 <Value name="ApiHost">host01.example.com</Value>
3 <Value name="SslProfile">process-monitor</Value>
4 <Value name="ApiKey">[key]</Value>
5 <Value name="ApiSecret">[secret]</Value>
6 ...
7</Module>
Der Wert ApiSecret
¶
Der Wert ApiSecret
ist das Geheimnis für den angegebenen API-Schlüssel. Kodiere dieses Geheimnis immer mit dem EducateIT Password Encoder um die Sicherheit zu erhöhen.
1<Module name="ProcessMonitorData">
2 <Value name="ApiHost">host01.example.com</Value>
3 <Value name="SslProfile">process-monitor</Value>
4 <Value name="ApiKey">[key]</Value>
5 <Value name="ApiSecret">[secret]</Value>
6 ...
7</Module>
Der Wert Context
¶
Mit dem Wert Context
legst du den Standardkontext fest. Dieser Kontext wird für alle Prozess- und Computerobjekte verwendet und, falls überschrieben, auch für Benutzerobjekte. Um sicherzustellen, dass die Prozessinformationen korrekt in die vorhandenen Benutzer- und Computerobjekte eingefügt werden, muss der Kontext gleich den vorhandenen Objekten sein. Alternativ kannst du in der Raptor-Konfiguration eine Kontextzusammenführung definieren.
1<Module name="ProcessMonitorData">
2 ...
3 <Value name="Context">example.com</Value>
4 ...
5</Module>
Der Wert OverwriteUserContext
¶
Mit dem optionalen Wert OverwriteUserContext
kannst du steuern, ob der Benutzerkontext mit dem Standardkontext überschrieben werden soll. Wenn du diesen Wert auf „Yes“ setzt, wird der Kontext aus dem Context
-Wert verwendet. Wenn du diesen Wert auf „No“ setzt, wird der Benutzerdomänenname als Kontext verwendet.
Wenn du diesen optionalen Wert weglässt, ist der Standardwert „No“, was bedeutet, dass der Benutzerdomänenname als Kontext verwendet wird.
1<Module name="ProcessMonitorData">
2 ...
3 <Value name="OverwriteUserContext">Yes</Value>
4 ...
5</Module>
Der Wert UserObjectEnabled
¶
Mit dem Wert UserObjectEnabled
kannst du steuern, ob die Erweiterung Benutzerobjekte aus den Daten generieren soll. Wenn du diesen Wert auf „Yes“ setzt, werden Benutzerobjekte für alle gefundenen Benutzernamen erstellt. Wenn du diesen Wert auf „No“ setzt, werden keine Benutzerobjekte generiert.
1<Module name="ProcessMonitorData">
2 ...
3 <Value name="UserObjectEnabled">Yes</Value>
4 ...
5</Module>
Der Wert ComputerObjectEnabled
¶
Mit dem Wert ComputerObjectEnabled
kannst du steuern, ob die Erweiterung Computerobjekte aus den Daten generieren soll. Wenn du diesen Wert auf „Yes“ setzt, werden Computerobjekte für alle gefundenen Computernamen erstellt. Wenn du diesen Wert auf „No“ setzt, werden keine Computerobjekte generiert.
1<Module name="ProcessMonitorData">
2 ...
3 <Value name="ComputerObjectEnabled">Yes</Value>
4 ...
5</Module>
Der Wert TableFields
¶
Mit dem Wert TableFields
konfigurierst du die Felder, die für die Prozesstabelle angezeigt werden. Es handelt sich um eine durch Leerzeichen getrennte Liste von Feldnamen. Jeder angegebene Feldname wird in der konfigurierten Reihenfolge angezeigt. Du kannst jeden Feldnamen nur einmal verwenden. Eine vollständige Liste aller konfigurierbaren Felder findest du im Abschnitt Tabellenfelder.
Das folgende Beispiel konfiguriert die Tabelle so, dass die drei Felder in genau dieser Reihenfolge angezeigt werden:
<Value name="Fields">
HostName
Name
Owner
</Value>
Du kannst das Präfix „-“ vor einem Feldnamen hinzufügen, um das Feld aus der Anzeige auszublenden. Dies ist nützlich, wenn einige Expertensystem-Skripte oder Aktionen auf dieses Feld angewiesen sind, es aber für den Benutzer ausgeblendet werden soll.
Das folgende Beispiel konfiguriert die Tabelle so, dass die Felder HostName
und Name
angezeigt werden, aber der Wert Owner
ausgeblendet wird:
<Value name="Fields">
HostName
Name
-Owner
</Value>
Es gibt einen speziellen Feldnamen Action
, der die Spalte mit den Aktionen an der angegebenen Stelle anzeigt. Das Action
-Feld darf kein Präfix oder Suffix haben. Das folgende Beispiel zeigt die Aktions-Spalte als letzte Spalte der Tabelle:
<Value name="Fields"> HostName
Name
Action
</Value>
Mit dem Suffix „$“ fügst du das Feld als Parameter für jede Aktion in dieser Zeile hinzu. Im folgenden Beispiel werden die Felder HostName
und Name
als Parameter für jede Aktion hinzugefügt:
<Value name="Fields">
HostName$
Name$
Action
</Value>
Du kannst das „-“ Präfix mit dem „$“ Suffix kombinieren, um ein ausgeblendetes Feld hinzuzufügen, das als Parameter für jede Aktion hinzugefügt wird. Im folgenden Beispiel wird das Feld HostName
in der Tabelle ausgeblendet, aber als Parameter für jede Aktion hinzugefügt:
<Value name="Fields">
-HostName$
Name$
Action
</Value>
Du kannst auch den Namen des Parameters neu definieren, indem du den neuen Namen nach dem „$“ Zeichen hinzufügst. Im folgenden Beispiel wird das Feld HostName
als Parameter „host“ und das Feld Owner
als userName
für jede Aktion hinzugefügt:
<Value name="Fields">
HostName$host
Owner$userName
Action
</Value>
Die Liste TableActions
¶
Wenn du ein Action
-Feld zur Konfiguration einer Tabelle hinzufügst, musst du mindestens eine Aktion in der Tabellenaktionsliste hinzufügen. Jeder Eintrag in dieser Liste zeigt einen Aktionsbutton in der Aktions-Spalte der Tabelle an.
Der Wert Label
¶
Mit diesem Wert wird der Text konfiguriert, der auf dem Aktionsbutton angezeigt wird. Die maximale Länge beträgt 64 Zeichen. Du solltest diesen Text so kurz wie möglich halten.
Der Wert Arguments
¶
Dieser Wert konfiguriert eine Anzahl von Argumenten, die zusätzlich zu den Argumenten aus der Tabellenzeile immer an das Programm übergeben werden. Das Format dieses Eintrags ist im Folgenden dargestellt:
<Value name="Arguments">
arg1=value1
arg2=value2
arg3=value3
</Value>
Es handelt sich im Wesentlichen um eine durch Leerzeichen getrennte Liste von Parametern. Jeder Parameter wird in den Parameternamen und den Parameterwert unter Verwendung des Gleichheitszeichens „=“ unterteilt. In jeder Parameterdefinition darf kein Leerzeichen vorhanden sein.
Der Parametername kann die Buchstaben a
-z
und die Ziffern 0
-9
enthalten, beginnend mit dem zweiten Zeichen ist auch das Bindestrichzeichen „-“ erlaubt. Der Wert nach dem „=“ darf kein Leerzeichen oder ein „=“-Zeichen enthalten.
Diese Argumente sind optional, aber wenn du keine Argumente benötigst, musst du einen leeren Wert angeben.
Der Wert ProgramPath
¶
Dieser optionale Wert legt ein anderes Programm fest, das für die angegebene Aktion ausgeführt werden soll. Wenn du diesen Wert weglässt, wird das standardmäßige Aktionsprogramm verwendet, das im Datenmodul der Raptor-Konfiguration konfiguriert ist. Siehe dazu Die Gruppe ActionHandler.
Du musst einen absoluten Pfad zum Programm angeben, und dieser Wert darf nur der Programmpfad ohne Anführungszeichen oder zusätzliche Argumente sein. Gib stattdessen Argumente mit dem Wert Arguments an.
Tabellenfelder¶
In diesem Abschnitt werden die verfügbaren Felder der Prozesstabelle beschrieben. Die Tabellen zeigen die Felder, die du für den Filter verwenden kannst, indem du den Namen in der Spalte „Name (Filter)“ verwendest, und sie zeigen die Felder, die du in der Tabellenkonfiguration verwenden kannst, indem du den Namen in der Spalte „Name (Tabelle)“ verwendest. Wenn einer dieser Namen leer ist, ist dieses Feld für diesen Zweck nicht verfügbar.
Der Typ ist nur wichtig, wenn du einen Filter schreibst oder ein Skript für den Skriptadapter schreibst.
Name (Table) |
Name (Filter) |
Typ |
Titel |
---|---|---|---|
|
hostName |
Text |
Host |
|
processId |
Zahl |
Process ID |
|
name |
Text |
Name |
|
path |
Text |
Path |
|
owner |
Text |
Owner |
|
totalCpuTime |
Zahl |
Total CPU |
|
userCpuTime |
Zahl |
User CPU |
|
workingSetSize |
Zahl |
Working Set |
|
virtualSize |
Zahl |
Virtual |
|
cpuUsage |
Zahl |
CPU Usage |
|
Aktion |
Action |
Hinweise zum Feld „CPU Usage“¶
Das Feld „CPU Usage“ konvertiert intern die relative Nutzung in einen Wert zwischen 0 und 1000. Ist der Wert nicht verfügbar, beträgt der Wert -1. Dieser interne Wert wird für die Anzeige auf dem Client in eine prozentuale Darstellung oder den speziellen Begriff N/A (nicht verfügbar) umgewandelt, wenn der Wert nicht verfügbar ist.
Für den Filter musst du den Konventionen des Process Monitor Collectors folgen. Dort ist die CPU-Auslastung eine Zahl zwischen 0.0 und 1.0 mit dem speziellen Wert -1.0, wenn sie nicht verfügbar ist.
Beispielkonfiguration:¶
<?xml version="1.0" encoding="UTF-8" ?>
<Configuration
version="1"
xmlns="http://educateit.ch/software/BlueStone/Configuration/1">
<Module name="ProcessMonitorData">
<Value name="ApiHost">example01</Value>
<Value name="ApiKey">[key]</Value>
<Value name="ApiSecret">[secret]</Value>
<Value name="UserObjectEnabled">Yes</Value>
<Value name="ComputerObjectEnabled">Yes</Value>
<Value name="Context">example.com</Value>
<Value name="OverwriteUserContext">Yes</Value>
<Value name="TableFields">
Name$
ApplicationName$
HostName$
Owner$
TotalCpuTime
WorkingSetSize
CpuUsage
Action
</Value>
<List name="TableActions">
<ListEntry>
<Value name="Label">Action</Value>
<Value name="Arguments">
profile=processMonitor
</Value>
</ListEntry>
</List>
</Module>
</Configuration>