7 Comprobación externa
Resumen
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 ningún agent en ejecución en el host que se está monitorizando.
La sintaxis de la clave del item es:
script[<parameter1>,<parameter2>,...]
Donde:
| ARGUMENT | DEFINITION |
|---|---|
| script | Nombre de un script de shell o de 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á el directorio especificado para 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 iniciar un proceso fork por parte de Zabbix server/proxy, 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 de retorno de una comprobación externa es una salida estándar junto con un error estándar producido por la comprobación.
Un item que devuelve texto (carácter, log o tipo de información de texto) no se volverá no soportado en caso de una salida de error estándar.
El valor de retorno está limitado a 16MB (incluyendo los espacios en blanco finales que se truncan); también se aplican los límites de la base de datos.
Si no se encuentra el script solicitado o el servidor/proxy de Zabbix no tiene permisos para ejecutarlo, el item se volverá no soportado y se mostrará un mensaje de error correspondiente.
En caso de timeout, el item se volverá no soportado, se mostrará un mensaje de error correspondiente y se terminará el proceso bifurcado para el script.