5 Parámetros de usuario
Resumen
A veces puede que desee ejecutar una comprobación de agent que no venga 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 agent (parámetro de configuración 'UserParameter').
Un parámetro de usuario tiene la siguiente sintaxis:
UserParameter=<key>,<command>
Como puede ver, un parámetro de usuario también contiene una clave. La clave será necesaria al configurar un item. Introduzca una clave de su elección que sea fácil de referenciar (debe ser única dentro de un host).
Reinicie el agent o utilice la opción de control en tiempo de ejecución del agent para que se cargue el nuevo parámetro, por ejemplo:
zabbix_agentd -R userparameter_reload
Luego, al configurar un item, introduzca la clave para referenciar el comando del parámetro de usuario que desea ejecutar.
Los parámetros de usuario son comandos ejecutados por Zabbix agent. Tenga en cuenta que se pueden devolver hasta 16 MB de datos antes de los pasos de preprocesamiento del valor del item.
/bin/sh se utiliza como intérprete de línea de comandos en sistemas operativos UNIX. Los parámetros de usuario obedecen el tiempo de espera de la comprobación del agent; si se alcanza el tiempo de espera, el proceso bifurcado del parámetro de usuario se termina.
Véase también:
- Tutorial paso a paso sobre cómo utilizar parámetros de usuario
- Ejecución de comandos
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 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 única del item. El [*] define que esta clave acepta parámetros entre 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 hacer referencia 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 realidad en $2 al ejecutar el comando. |
Las referencias posicionales con el signo $ son buscadas y reemplazadas por el agent de Zabbix sólo 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 $.
Ciertos caracteres no están permitidos en los parámetros de usuario por defecto. Para ver la lista completa de caracteres, consulte UnsafeUserParameters.
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.