7 Externe Prüfung

Übersicht

Ein externer Check ist ein Check, der vom Zabbix Server durch Ausführen eines Shell-Skripts oder eines Binärprogramms durchgeführt wird. Wenn Hosts jedoch von einem Zabbix Proxy überwacht werden, werden die externen Checks vom Proxy ausgeführt.

Externe Checks erfordern keinen laufenden Agent auf dem überwachten Host.

Die Syntax des Datenpunkt-Schlüssels lautet:

script[<parameter1>,<parameter2>,...]

Dabei gilt:

ARGUMENT DEFINITION
script Name eines Shell-Skripts oder eines Binärprogramms.
parameter(s) Optionale Befehlszeilenparameter.

Wenn Sie keine Parameter an das Skript übergeben möchten, können Sie Folgendes verwenden:

script[] oder
script

Der Zabbix Server oder Proxy durchsucht das für externe Skripte angegebene Verzeichnis und führt den Befehl aus (siehe Parameter ExternalScripts in der Zabbix Server/Proxy-Konfigurationsdatei). Der Befehl wird unter demselben Benutzer ausgeführt wie der Zabbix Server/Proxy, daher sollten Zugriffsberechtigungen oder Umgebungsvariablen bei Bedarf in einem Wrapper-Skript behandelt werden. Die Berechtigungen für den Befehl müssen diesem Benutzer ebenfalls die Ausführung erlauben. Nur Befehle im angegebenen Verzeichnis stehen zur Ausführung zur Verfügung.

Verwenden Sie externe Checks nicht übermäßig, da jedes Skript das Starten eines Fork-Prozesses durch den Zabbix Server/Proxy erfordert und die Ausführung vieler Skripte die Zabbix-Performance erheblich beeinträchtigen kann.

Anwendungsbeispiel

Ausführen des Skripts check_oracle.sh mit dem ersten Parameter '-h'. Der zweite Parameter wird je nach Auswahl in den Host-Eigenschaften durch die IP-Adresse oder den DNS-Namen ersetzt.

check_oracle.sh["-h","{HOST.CONN}"]

Angenommen, der Host ist für die Verwendung einer IP-Adresse konfiguriert, führt der Zabbix Server/Proxy Folgendes aus:

check_oracle.sh '-h' '192.168.1.4'

Ergebnis der externen Prüfung

Der Rückgabewert einer externen Prüfung ist die Standardausgabe zusammen mit der Standardfehlerausgabe, die von der Prüfung erzeugt werden.

Ein Datenpunkt, der Text zurückgibt (Zeichen-, Log- oder Texttyp von Informationen), wird im Fall einer Standardfehlerausgabe nicht zu „nicht unterstützt“.

Der Rückgabewert ist auf 16 MB begrenzt (einschließlich nachgestellter Leerzeichen, die abgeschnitten werden); Datenbankgrenzen gelten ebenfalls.

Wenn das angeforderte Skript nicht gefunden wird oder der Zabbix Server/Proxy keine Berechtigungen hat, es auszuführen, wird der Datenpunkt zu „nicht unterstützt“ und eine entsprechende Fehlermeldung wird angezeigt.

Im Fall einer Zeitüberschreitung wird der Datenpunkt zu „nicht unterstützt“, eine entsprechende Fehlermeldung wird angezeigt, und der für das Skript erzeugte Prozess wird beendet.