5 Paràmetres d'usuari

Vista general

De vegades és possible que vulgueu executar una comprovació d'agent que no és predefinida amb Zabbix. Aquí és on la configuració de l'usuari us ajuda.

Podeu escriure una ordre que recuperi les dades que necessiteu i incloure-les al paràmetre d'usuari del fitxer de configuració de l'agent (paràmetre de configuració 'UserParameter').

Un paràmetre d'usuari té la sintaxi següent:

 UserParameter=<clau>,<ordre>

Com podeu veure, un paràmetre d'usuari també conté una clau. La clau serà necessària quan es configura un element. Introduïu una clau de la vostra elecció que serà fàcilment consultable (ha de ser única a l'equip).

Reinicieu l'agent o empreu l'opció control d'execució de l'agent per triar la nova configuració, p. g.:

 zabbix_agentd -R userparameter_reload

Aleshores, quan configureu un element, introduïu la clau per fer referència a l'ordre del paràmetre d'usuari que voleu executar.

Els paràmetres d'usuari són ordres executades per l'agent Zabbix. Es poden retornar fins a 16Mo de dades abans de les passes de preprocessament de l'element.

/bin/sh s'empra com a intèrpret de línia d'ordres als sistemes operatius UNIX. La configuració de l'usuari obeeix al temps d'espera de comprovació de l'agent; si s'arriba al temps d'espera, el procés de configuració d'usuari duplicat acaba.

Veieu també:

Exemples de paràmetres senzills d'usuaris

Una comanda senzilla:

UserParameter=ping,echo 1

L'agent retornarà sempre '1' per un element amb la clau 'ping'.

Un exemple més complicat:

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

L'agent retornarà '1', si el servidor MySQL és actiu, '0' - si no ho és.

Paràmetres d'usuari flexibles

Els paràmetres d'usuari flexibles admeten paràmetres a la clau. Així, una configuració d'usuari flexible pot servir com a base per crear diversos elements.

Els paràmetres d'usuari flexibles tenen la sintaxi següent:

 UserParameter=key[*],ordre
Paràmetre Descripció
Clau Clau d'element única. El [*] defineix que aquesta clau admet paràmetres entre parèntesis.
Els paràmetres es donen en configurar l'element.
Ordre Ordre que s'ha d'executar per avaluar el valor de la clau.
Només per a paràmetres d'usuari flexibles:
Podeu emprar referències posicionals $1...$9 a l'ordre per fer referència al paràmetre respectiu a clau d'element.
Zabbix analitza els paràmetres entre [ ] de la clau d'element i substitueix $1,...,$9 a l'ordre en conseqüència.
$0 serà substituït per l'ordre original (abans de $0,...,$9 expansió) per executar-se.
Les referències de posició s'interpreten tant si són tancades entre cometes dobles ("") o simples (').
Per emprar referències de posició sense canvis, especifiqueu un signe de dòlar doble, per exemple, awk '{ print $$2}' En aquest cas, $$2 canviarà a $2 quan s'executi l'ordre.

Les referències de posició amb el signe $ es cerquen i substitueixen a l'agent Zabbix només per a la configuració flexible d'usuari. Per als paràmetres d'usuari simples, aquest processament de referència s'ignora i, per tant, no cal que es faci cap cita del signe $.

Alguns símbols no són permesos a la configuració d'usuari predeterminada. Consulteu la documentació UnsafeUserParameters per obtindre una llista completa.

Exemple 1

Una cosa molt senzilla:

 UserParameter=ping[*], echo $1

Podem definir un nombre il·limitat d'elements per al seguiment de tots els formats ping[alguna cosa].

  • ping[0] - sempre retornarà '0'
  • ping[aaa] - sempre retornarà "aaa"
Exemple 2

Afegim una mica de significat!

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

Aquest paràmetre es pot emprar per controlar la disponibilitat de la base de dades MySQL. Podem passar nom d'usuari i mot de pas:

 mysql.ping[zabbix,el_nostre_mot_de_pas]
Exemple 3

Quantes línies coincideixen amb una expressió regular d'un fitxer?

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

Aquest paràmetre es pot emprar per calcular el nombre de línies d'un fitxer.

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

Resultat de la comanda

El valor de retorn de l'ordre és una sortida estàndard amb error estàndard.

Un element de text (caràcter, registre o informació semblant a un text) no serà compatible amb un error estàndard.

El valor de retorn és limita a 16Mo (incloent els espais en blanc truncats al final); també s'apliquen Límits de la base de dades.

Els paràmetres d'usuari que retornen text (informació de caràcter, registre o text) poden retornar espais. Si es retorna incorrectament, l'article no s'admetrà.