Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página incluye contenido traducido automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

5 Parámetros de usuario

Descripción general

A veces puede que desee ejecutar una comprobación del agente que no viene predefinida con Zabbix. Aquí es donde los parámetros de usuario resultan útiles.

Puede escribir un comando que recupere los datos que necesita e incluirlo en el parámetro de usuario en el archivo de configuración del agente (parámetro de configuración 'UserParameter').

Un parámetro de usuario tiene la siguiente sintaxis:

UserParameter=<clave>,<comando>

Como puede ver, un parámetro de usuario también contiene una clave. La clave será necesaria al configurar una métrica. Introduzca una clave de su elección que sea fácil de referenciar (debe ser única dentro de un equipo).

Reinicie el agente o utilice la opción de control en tiempo de ejecución del agente para recoger el nuevo parámetro, por ejemplo:

zabbix_agentd -R userparameter_reload

Luego, al configurar una métrica, introduzca la clave para hacer referencia al comando del parámetro de usuario que desea ejecutar.

Los parámetros de usuario son comandos ejecutados por el agente Zabbix. Tenga en cuenta que se pueden devolver hasta 16 MB de datos antes de los pasos de preprocesamiento del valor de la métrica.

/bin/sh se utiliza como intérprete de línea de comandos en sistemas operativos UNIX. Los parámetros de usuario obedecen al tiempo de espera de comprobación del agente; si se alcanza el tiempo de espera, el proceso bifurcado del parámetro de usuario se termina.

Consulte también:

Ejemplos de parámetros de usuario simples

Un comando simple:

UserParameter=ping,echo 1

El agente siempre devolverá '1' para una métrica con la clave 'ping'.

Un ejemplo más complejo:

UserParameter=mysql.ping,mysqladmin -uroot ping | grep -c alive

El agente devolverá '1' si el servidor MySQL está activo, '0' en caso contrario.

Parámetros de usuario flexibles

Los parámetros de usuario flexibles aceptan parámetros con la clave. De este modo, un parámetro de usuario flexible puede ser la base para crear varios items.

Los parámetros de usuario flexibles tienen la siguiente sintaxis:

UserParameter=key[*],command
Parámetro Descripción
Key Clave de item única. El [*] define que esta clave acepta parámetros dentro de los corchetes.
Los parámetros se dan al configurar el item.
Command Comando que se ejecutará para evaluar el valor de la clave.
Sólo para parámetros de usuario flexibles:
Puede utilizar referencias posicionales $1…$9 en el comando para referirse al parámetro respectivo en la clave del item.
Zabbix analiza los parámetros entre [ ] de la clave del item y sustituye $1,...,$9 en el comando en consecuencia.
$0 se sustituirá por el comando original (antes de la expansión de $0,...,$9) que se va a ejecutar.
Las referencias posicionales se interpretan independientemente de si están entre comillas dobles (") o simples (').
Para utilizar referencias posicionales sin modificar, especifique un signo de dólar doble - por ejemplo, awk '{print $$2}'. En este caso, $$2 se convertirá en $2 al ejecutar el comando.

Las referencias posicionales con el signo $ sólo son buscadas y reemplazadas por el agent de Zabbix para los parámetros de usuario flexibles. Para los parámetros de usuario simples, este procesamiento de referencias se omite y, por lo tanto, no es necesario citar ningún signo $.

Por defecto, ciertos caracteres no están permitidos en los parámetros de usuario. Para ver la lista completa de caracteres, consulte UnsafeUserParameters.

Ejemplo 1

Algo muy simple:

UserParameter=ping[*],echo $1

Podemos definir un número ilimitado de métricas para monitorizar, todas con el formato ping[algo].

  • ping[0] - siempre devolverá '0'
  • ping[aaa] - siempre devolverá 'aaa'
Ejemplo 2

¡Vamos a añadir más sentido!

UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping | grep -c alive

Este parámetro puede usarse para monitorizar la disponibilidad de la base de datos MySQL. Podemos pasar el nombre de usuario y la contraseña:

mysql.ping[zabbix,our_password]
Ejemplo 3

¿Cuántas líneas coinciden con una expresión regular en un archivo?

UserParameter=wc[*],grep -c "$2" $1

Este parámetro puede usarse para calcular el número de líneas en un archivo.

wc[/etc/passwd,root]
       wc[/etc/services,zabbix]

Resultado del comando

El valor de retorno del comando es una salida estándar junto con un error estándar producido por el comando.

Una métrica que devuelve texto (carácter, registro o tipo de información de texto) no se volverá no soportada 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.

Los parámetros de usuario que devuelven texto (carácter, registro o tipo de información de texto) también pueden devolver un espacio en blanco. En caso de un resultado no válido, la métrica se volverá no soportada.