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 auf dem überwachten Host laufenden Agent.
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-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 einer Standardfehlerausgabe, die von der Prüfung erzeugt wird.
Ein Datenpunkt, der Text zurückgibt (Zeichen-, Protokoll- oder Texttyp von Informationen), wird bei einer Standardfehlerausgabe nicht als nicht unterstützt markiert.
Der Rückgabewert ist auf 16 MB begrenzt (einschließlich nachfolgender Leerzeichen, die abgeschnitten werden); Datenbanklimits 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 angezeigt.
Im Falle eines Timeouts wird der Datenpunkt nicht unterstützt, eine entsprechende Fehlermeldung angezeigt und der für das Skript erzeugte Prozess wird beendet.