Anmerkung: Bitte lesen Sie zunächst die generelle Einführung zu Benutzerdefinierte Sensoren.

Dieser Abschnitt gibt Ihnen einen Überblick über die Verwendung von "EXE/Script"-Sensoren. Jedesmal, wenn der Sensor ausgeführt wird, wird eine EXE-, Skript- oder DLL-Datei gestartet.

Der EXE/Script-Sensor unterstützt die folgenden Dateitypen:

  • EXE
  • DLL
  • VBScript
  • Powershell-Skript
  • CMD/BAT-Skript

EXE Sensoren

Die Zeichenfolge, die im Parameterfeld der Sensoreinstellungen eingetragen ist, wird in die Befehlszeile kopiert. Die EXE-Datei muss die Ergebnisse an den Standard OUT senden. Die Daten müssen in folgendem Format sein:

wert:nachricht

"wert" muss ein 32bit Integer-Wert sein und wird als Ergebniswert dieses Sensors verwendet werden (z.B. Bytes, Millisekunden etc.), "nachricht" kann jede Art von String sein und wird in der Datenbank gespeichert.

Der EXE Exit Code muss einer der folgenden Werte sein:

  • 0: OK
  • 1: Warnung
  • 2: Systemfehler (z.B.: Netzwerk-/Anschlussfehler)
  • 3: Protokollfehler (z.B.: der Webserver meldet einen 404)
  • 4: Inhaltsfehler (z.B.: eine Webseite beinhaltet ein benötigtes Wort nicht)

Falls die EXE die nicht zum PRTG Prozess zurückkehrt, wird der Prozess nach Ablauf des für diesen Sensor festgelegten Wertes für Timeout beendet.

Sie können die EXE-Datei, die Sie für den Sensor benutzen wollen, leicht in der Befehlszeile testen (cmd.exe). Starten Sie hierfür die EXE-Datei und speichern Sie die Ergebisse in einer Datei. z.B.:

sensorexe parameter > result.txt

Die Ergebnisse werden dann in die Datei result.txt geschrieben und Sie können diese mit Notepad oder jedem anderen Texteditor überprüfen.

Als "parameter" Variable können Sie auch die folgenden Platzhalter verwenden:

  • "%device": Gerätename.
  • "%host": Geräte IP/DNS.
  • "%name": Sensorname.
  • "%probe": Sondenname.
  • "%sensorid": ID Nummer des Sensors.

Bitte achten Sie darauf, dass Sie die Platzhalter in Anführungszeichen schreiben, damit sie auch dann zuverlässig funktionieren, wenn die Werte Leerzeichen enthalten.

CMD/BAT Dateien

Die EXE-Datei muss die Ergebnisse an den Standard OUT senden. Die Daten müssen in folgendem Format sein:

wert:nachricht

"wert" muss ein 32bit Integer-Wert sein und wird als Ergebniswert dieses Sensors verwendet werden (z.B. Bytes, Millisekunden etc.), "nachricht" kann jede Art von String sein und wird in der Datenbank gespeichert.

Der EXE Exit Code muss einer der folgenden Werte sein:

  • 0: OK
  • 1: Warnung
  • 2: Fehler

Falls die EXE die nicht zum PRTG Prozess zurückkehrt, wird der Prozess nach Ablauf des für diesen Sensor festgelegten Wertes für Timeout beendet.

Eine einfache BAT-Datei könnte so aussehen:

echo 100:Everything OK
exit 0

 

DLL Sensoren

Bei jeder Überprüfung des Sensors wird die ausgewählte DLL Datei aufgerufen. Die DLL muss eine Funktion exportieren:

function perform(para,msg:pchar):integer; stdcall;

Bei "Para" und "msg" handelt es sich um "null-terminierte" Strings. "Msg" ist ein Speicherbereich von 255 Bytes zugeteilt, die DLL muss also sicherstellen, dass weniger Bytes zurückgesendet werden. "Msg" muss im folgenden Format sein:

wert:nachricht

"wert" muss ein 32bit Integer-Wert sein und wird als Ergebniswert dieses Sensors verwendet werden (z.B. Bytes, Millisekunden etc.), "nachricht" kann jede Art von String sein und wird in der Datenbank gespeichert.

Der Integer-Return-Value der ausgeführten Funktion muss einer der folgenden Werte sein:

  • 0: ok
  • 1: Warnung
  • 2: Systemfehler (z.B.: Netzwerk-/Anschlussfehler)
  • 3: Protokollfehler (z.B.: der Webserver meldet einen 404)
  • 4: Inhaltsfehler (z.B.: eine Webseite beinhaltet ein benötigtes Wort nicht)

Warnung: Wenn der Funktionsaufruf in der DLL nicht zurückkommt, könnte das gesamte PRTG System blockiert werden. Stellen Sie sicher, dass ausreichende Vorkehrungen für Timeouts getroffen wurden und erstellen Sie ein verlässliches Fehlermanagement. Aus diesem Grunde werden EXE Sensoren empfohlen.

Links

Beispielkonfigurationen für solche benutzerdefinierten Sensoren finden Sie:



Copyright © 1998 - 2012 Paessler AG