#5 Parámetros de usuario

Descripción general

A veces es posible que desee ejecutar una verificación que no viene predefinida con el agente Zabbix. Aquí es donde los parámetros de usuario resultan de ayuda.

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

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 consultar (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 considerar el nuevo parámetro, por ejemplo:

zabbix_agentd -R userparameter_reload

Luego, al configurar una métrica, ingrese 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 del usuario obedecen al tiempo de espera de verificación del agente; si se alcanza el tiempo de espera, el proceso ejecutado por los parámetros de usuario finaliza.

Ver también:

Ejemplos de parámetros de usuario simples

Un comando simple:

Parámetro de usuario = ping, eco 1

El agente siempre devolverá '1' para un artículo con la tecla 'ping'.

Un ejemplo más complejo:

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

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

Parámetros de usuario flexibles

Los parámetros de usuario flexibles aceptan parámetros con la tecla. De esta manera un El parámetro de usuario flexible puede ser la base para crear varios artículos.

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

UserParameter=clave[*],comando
Parámetro Descripción
Clave Clave de elemento único. El [*] define que esta tecla acepta parámetros entre corchetes.
Los parámetros se proporcionan al configurar el elemento.
Comando Comando a 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 referirse al parámetro respectivo en la clave del elemento.
Zabbix analiza los parámetros encerrados en [ ] de la clave del elemento 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 encerradas entre comillas dobles (") o simples (').
Para usar referencias posicionales sin modificar, especifique un valor doble signo de dólar - por ejemplo, awk '{print $$2}'. En este caso, '$$2' en realidad se convertirá en '$2' al ejecutar el comando.

Se buscan referencias posicionales con el signo $ para y reemplazado por el agente Zabbix solo para parámetros de usuario flexibles. Para parámetros de usuario simples, dicho procesamiento de referencia 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. Ver Parámetros de usuario no seguros documentación para una lista completa.

Ejemplo 1

Algo muy simple:

Parámetro de usuario = ping [*], eco $ 1

Podemos definir una cantidad ilimitada de elementos para monitorear, todos con formato hacer ping[algo].

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

¡Agreguemos más sentido!

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

Este parámetro se puede usar para monitorear la disponibilidad de MySQL base de datos. Podemos pasar nombre de usuario y contraseña:

mysql.ping[zabbix,nuestra_contraseña]
Ejemplo 3

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

Parámetro de usuario = wc [*], grep -c "$ 2" $ 1

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

wc[/etc/contraseña,raíz]
       wc[/etc/servicios,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 dejará de ser compatible en caso de que se produzca un error estándar.

El valor de retorno está limitado a 16 MB (incluidos los espacios en blanco finales truncados); También se aplican 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 dejará de ser compatible.