La vérification externe est une vérification exécutée par le serveur Zabbix en exécutant un script shell ou un binaire. Cependant, lorsque les hôtes sont supervisés par un proxy Zabbix, les vérifications externes sont exécutés par le proxy.
Les contrôles externes ne nécessitent aucun agent exécuté sur un hôte surveillé.
La syntaxe de la clé d’élément est :
Où :
ARGUMENT | DEFINITION |
---|---|
script | Nom d'un script shell ou d'un binaire. |
paramètre(s) | Paramètres de ligne de commande facultatifs. |
Si vous ne voulez pas passer de paramètres au script, vous pouvez utiliser :
Le serveur Zabbix recherche dans le répertoire défini l'emplacement des scripts externes (paramètre 'ExternalScripts' dans le fichier de configuration du serveur Zabbix) et exécute la commande. La commande sera exécutée en tant qu’utilisateur du serveur Zabbix, donc toutes les autorisations d'accès ou les variables d'environnement doivent être traitées dans un script wrapper, si nécessaire, et les permissions sur la commande devraient permettre à cet utilisateur de l'exécuter. Seules les commandes du répertoire spécifié sont disponibles pour l'exécution.
Ne pas abuser des contrôles externes ! Comme chaque script nécessite le démarrage d'un processus forké par le serveur Zabbix, l'exécution de nombreux scripts peut réduire considérablement les performances de Zabbix.
Exécution du script check_oracle.sh avec les premiers paramètres '-h'. Le deuxième paramètre sera remplacé par l'adresse IP ou le nom DNS, en fonction de la sélection dans les propriétés de l'hôte.
En supposant que l'hôte est configuré pour utiliser l'adresse IP, Zabbix exécutera :
La valeur de retour de la vérification est la sortie standard avec l'erreur standard (la sortie complète avec un espace de fin ajusté est retournée depuis Zabbix 2.0).
Un élément de texte (caractère, journal ou information de type texte) ne sera pas pris en charge en cas de sortie d'erreur standard
Si le script demandé n'est pas trouvé ou si le serveur Zabbix n'a pas l'autorisation de l'exécuter, l'élément ne sera plus pris en charge et le message d'erreur correspondant sera défini. Dans le cas d'un timeout, l'élément sera également marqué comme non supporté, un message d'erreur correspondant sera affiché et le processus forké du script sera détruit