Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida 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 esta manera, un parámetro de usuario flexible puede ser la base para crear varias métricas.

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

UserParameter=clave[*],comando
Parámetro Descripción
Clave Clave única de la métrica. El [*] define que esta clave acepta parámetros dentro de los corchetes.
Los parámetros se proporcionan al configurar la métrica.
Comando Comando que se ejecutará para evaluar el valor de la clave.
Solo para parámetros de usuario flexibles:
Puede usar referencias posicionales $1…$9 en el comando para hacer referencia al parámetro respectivo en la clave de la métrica.
Zabbix analiza los parámetros entre [ ] de la clave de la métrica y sustituye $1,...,$9 en el comando en consecuencia.
$0 será sustituido por el comando original (antes de la expansión de $0,...,$9) que se ejecutará.
Las referencias posicionales se interpretan independientemente de si están entre comillas dobles (") o simples (').
Para usar referencias posicionales sin modificar, especifique un signo de dólar doble; por ejemplo, awk '{print $$2}'. En este caso, $$2 realmente se convertirá en $2 al ejecutar el comando.

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

Ciertos símbolos no están permitidos en los parámetros de usuario por defecto. Consulte la documentación de UnsafeUserParameters para ver la lista completa.

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.