7 Comprobación externa
Descripción general
Una comprobación externa es una comprobación ejecutada por Zabbix server mediante la ejecución de un script de shell o un binario. Sin embargo, cuando los hosts son monitorizados por un Zabbix proxy, las comprobaciones externas son ejecutadas por el proxy.
Las comprobaciones externas no requieren que ningún agent se esté ejecutando en el host monitorizado.
La sintaxis de la clave del item es:
script[<parameter1>,<parameter2>,...]
Donde:
| ARGUMENT | DEFINITION |
|---|---|
| script | Nombre de un script de shell o un binario. |
| parameter(s) | Parámetros opcionales de la línea de comandos. |
Si no desea pasar ningún parámetro al script, puede usar:
script[] o
script
Zabbix server o proxy buscará en el directorio especificado los scripts externos y ejecutará el comando (consulte el parámetro ExternalScripts en el archivo de configuración de Zabbix server/proxy).
El comando se ejecutará con el mismo usuario que Zabbix server/proxy, por lo que cualquier permiso de acceso o variable de entorno debe gestionarse en un script envoltorio, si es necesario.
Los permisos sobre el comando también deben permitir que ese usuario lo ejecute.
Solo los comandos del directorio especificado están disponibles para su ejecución.
No abuse de las comprobaciones externas, ya que cada script requiere que Zabbix server/proxy inicie un proceso fork, y ejecutar muchos scripts puede reducir significativamente el rendimiento de Zabbix.
Ejemplo de uso
Ejecutando el script check_oracle.sh con los primeros parámetros '-h'. El segundo parámetro será reemplazado por la dirección IP o el nombre DNS, dependiendo de la selección en las propiedades del equipo.
check_oracle.sh["-h","{HOST.CONN}"]
Suponiendo que el equipo está configurado para usar dirección IP, el servidor/proxy de Zabbix ejecutará:
check_oracle.sh '-h' '192.168.1.4'
Resultado de la comprobación externa
El valor devuelto por una comprobación externa es la salida estándar junto con la salida de error estándar producida por la comprobación.
Un item que devuelve texto (información de tipo carácter, log o texto) no pasará a no compatible en caso de una salida de error estándar.
El valor devuelto está limitado a 16 MB (incluido el espacio en blanco final, que se trunca); también se aplican los límites de la base de datos.
Si el script solicitado no se encuentra o el server/proxy de Zabbix no tiene permisos para ejecutarlo, el item pasará a no compatible y se mostrará un mensaje de error correspondiente.
En caso de tiempo de espera agotado, el item pasará a no compatible, se mostrará un mensaje de error correspondiente y el proceso bifurcado para el script se terminará.