7 Externe Prüfung
Übersicht
Eine externe Prüfung ist eine Prüfung, die vom Zabbix Server durch Ausführen eines Shell-Skripts oder einer Binärdatei durchgeführt wird. Wenn Hosts jedoch von einem Zabbix Proxy überwacht werden, werden die externen Prüfungen vom Proxy ausgeführt.
Externe Prüfungen 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 einer Binärdatei. |
| 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 Konfigurationsdatei des Server/Proxy).
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 sollten außerdem diesem Benutzer die Ausführung erlauben.
Nur Befehle in dem angegebenen Verzeichnis stehen zur Ausführung zur Verfügung.
Verwenden Sie externe Prüfungen nicht übermäßig, da jedes Skript das Starten eines Fork-Prozesses durch den Zabbix Server/Proxy erfordert und das Ausführen vieler Skripte die Zabbix Leistung 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 einer von der Prüfung erzeugten Standardfehlerausgabe.
Ein Datenpunkt, der Text zurückgibt (Zeichen-, Protokoll- oder Texttyp von Informationen), wird bei einer Standardfehlerausgabe nicht nicht unterstützt.
Der Rückgabewert ist auf 16 MB begrenzt (einschließlich nachfolgendem Leerraum, der abgeschnitten wird); Datenbankgrenzen gelten ebenfalls.
Wenn das angeforderte Skript nicht gefunden wird oder der Zabbix Server/Proxy keine Berechtigung hat, es auszuführen, wird der Datenpunkt nicht unterstützt und eine entsprechende Fehlermeldung wird angezeigt.
Im Falle eines Timeouts wird der Datenpunkt nicht unterstützt, eine entsprechende Fehlermeldung wird angezeigt, und der für das Skript erzeugte Prozess wird beendet.