Agent

Der Process Monitor Agent ist ein minimaler Service um detaillierte Prozessinformationen durch den Process Monitor Collector abzufragen. Da mit diesem Service die Systeme kaum belastet werden empfehlen wir alle Prozessabfragen mit dem Process Monitor Agent zu machen.

Der Service hat eine einfache Konfiguration und kann sehr ohne Probleme auf sehr vielen Systemen installiert werden. Wird er nicht verwendet, hat ein kaum einen Einfluss auf das System auf dem er installiert wurde. Er öffnet einen lediglich einen Port, wo er auf eine Verbindung von dem Process Monitor Collector wartet.

Features

  • Einfache Konfiguration.

  • Sehr tiefer CPU verbrauch und minimale Netzwerk auslastung.

  • Wenn nicht in Verwendung, nahezu kein Einfluss auf das System.

  • SSL verschlüsselte Verbindung mit starker Authentifizierung.

Konfiguration

Die Konfiguration des Agent Services basiert auf unserem Konfigurationssystem. Im einfachsten Fall schreibst du dabei deine Konfiguration in eine Datei configuration.xml welche du im Verzeichnis der Anwendung platzierst. Die genauen Details zum Konfigurationssystem findest du im Kapitel Konfigurationssystem.

Schema der Konfiguration

Das folgende Schema zeigt die Struktur der Konfiguration:

Module

Application

Value

apiPort

Optional

Integer

  • Minimum value: 1

  • Maximum value: 65535

Default Value:

17697

Value

apiOnlyLocal

Optional

Boolean

Default Value:

Yes

List

apiSecrets

Complex list definition

Value

label

String

  • Must not be empty.

Value

key

String

  • Must not be empty.

Value

secret

Password

  • Must not be empty.

Value

authorizedNetworks

Optional

String

Der Wert apiPort

Falls du den von dem Agent verwenden Port anpassen musst, kannst du dies mit dem optionalen Wert apiPort machen. Lässt du diesen Wert weg, wird der Default von 17697 verwendet.

Wir empfehlen dir diesen Wert wegzulassen.

Der Wert apiOnlyLocal

Mit dem optionalen Wert apiOnlyLocal konfigurierst du, ob der Agent von externen Computern erreichbar sein soll. In einer Produktiven Umgebung solltest du diesen Wert weglassen oder auf No setzen.

Setzt du den Wert auf Yes werden nur noch lokale Verbindungen akzeptiert. Das kann dir helfen wenn du eine Testumgebung aufbaust.

Wir empfehlen dir diesen Wert wegzulassen.

Die Liste apiSecrets

Die Liste apiSecrets enthält alle möglichen Zugangsdaten der Systeme welche auf den Agent zugreifen dürfen. Dabei generierst du mit dem EducateIT Secret Generator Schlüsselpaare, welche für den Zugriff auf den Agent benötigt werden.

Das Schlüsselpaar wird mit dem Secret Generator erstellt. Siehe dazu Das Secret System.

In diesem Kontext ist der Process Monitor Collector der Client der auf den Process Monitor Agent dem Server zugreifen möchte.

Erstelle für jeden verwendeten Process Monitor Collector Service ein eigenes Schlüsselpaar. Falls du den Agent und dessen Konfiguration selten aktualisieren kannst, solltest du am besten mehrere zusätzliche Schlüsselpaare als Vorrat hinzufügen.

Es besteht auch die Möglichkeit die Netzwerke und IP-Adressen, von welchen über ein bestimmtes Schlüsselpaar auf den Agent zugegriffen werden einzuschränken. Wir empfehlen dir diese Möglichkeit als zusätzliche Sicherheit zu nutzen.

Das folgenden Beispiel zeigt, wie eine solche secrets Liste aussehen kann. Die dabei verwendeten Werte bei key und secret sind bewusst fiktive Werte und funktionieren nicht.

<List name="apiSecrets">
    <ListEntry>
        <Value name="label">Collector Production 1</Value>
        <Value name="key">fMAtR;8Gq_@pPai/7P827;ripX1ymYBx3Es;KZ;B.!X+oJsdv3PYVIv-Fupu]f}~</Value>
        <Value name="secret">cx(5:K5(9siRU?+I:)6#5oK{Sc)GWiiSt/1/lWVY*k#H{Kx4g@I2qvOGR]xA08{2 Oe8ouJWNLXHo3fAfos4Zix3VGVm*qZxtGNhiVFwtgTXc*iGkIpQf+dZ4Bs0Z3T85tzSQw9AK8s8n9DL7nTpDZA==</Value>
        <Value name="authorizedNetworks">10.0.0.0/16 127.0.0.1/24</Value>
    </ListEntry>
    <ListEntry>
        <Value name="label">Collector Test A</Value>
        <Value name="key">?1.RAf"|#:ZQj:Z62l-W_BjdoKh6KmF{35EU=_Q{N|qyaliRd+vU/-X97l!Q6,A9</Value>
        <Value name="secret">_k:([%pW3IY@D_/vE$WvuT*w^FKT,t!:({/mQUf,%hEo1efkB@/JM07_C8tMiX9V dbcE2xi+XtUSz6oE+7XpFx6FWVnnNqM4fAQO7BT*PLizr7RhyEMTgAxBbvx/DLogLOzkV1DQjyjkhIh7K1TXrw==</Value>
    </ListEntry>
</List>

Der Wert label

Mit dem Wert label gibst du einem Eintrag einen Namen. Dieser taucht in den Logdateien auf, so dass du Fehlermeldungen oder Zugriffe einem Eintrag zuordnen kannst. Funktional hat dieser Wert keine Bedeutung.

Der Wert key

Der Wert key ist ein Teil des Schlüsselpaars, welches du mit dem EducateIT Secret Generator erstellst. Dieser Wert bildet der Schlüssel, welcher einen Zugang eindeutig identifiziert. Der Wert ist vergleichbar mit einem Benutzernamen.

Der Wert secret

Der Wert secret ist der zweite Teil des Schlüsselpaars, welches du mit dem EducateIT Secret Generator erstellst. Dieser Wert ist eine Prüfsumme („Hash“) des eigentlichen Werts welches du im Client konfigurierst. Es ist nicht ohne weiteres möglich von dem Server Secret auf das Client Secret zu schliessen. Trotzdem solltest du den Zugriff auf die Konfiguration so gut wie möglich limitieren.

Der Wert authorizedNetworks

Mit dem optionalen Wert authorizedNetworks schränkst du die Clients ein, welche über diesen Eintrag auf das System zugreifen können. Dabei gibst du eine Liste von IPv4 oder IPv6 Netzwerken an, für welche der Zugriff erlaubt ist. Die einzelnen Netzwerke werden durch Whitespace voneinander getrennt.