#5 Parámetros de usuario

Visión general

A veces, es posible que desee ejecutar una verificación de agente que no llega predefinido con Zabbix. Aquí es donde los parámetros de usuario vienen a ayudar.

Puede escribir un comando que recupere los datos que necesita e incluirlos en el parámetro de usuario en la configuración del agente archivo ('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 sera necesario al configurar un artículo. Ingrese una clave de su elección que ser fácil de referenciar (debe ser único dentro de un host).

Reinicie el agente o use el agente tiempo de ejecución control opción para recoger el nuevo parámetro, p. gramo.:

zabbix_agentd -R userparameter_reload

Luego, al configurar un elemento, 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. Hasta 512 KB de los datos se pueden devolver antes de los pasos de preprocesamiento del artículo. Tenga en cuenta, sin embargo, que el valor de texto que eventualmente se puede almacenar en la base de datos es limitado a 64 KB en MySQL (ver información sobre otras bases de datos en el tabla).

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

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 Error estándar.

Un texto (carácter, registro o tipo de texto de información) el elemento no dejará de ser compatible en caso de error estándar producción.

Parámetros de usuario que devuelven texto (carácter, registro, tipo de texto de información) puede devolver espacios en blanco. En caso de resultado no válido, el artículo dejará de ser compatible.