Áú»¢¶Ä²©

5 ±Ê²¹°ù¨¤³¾±ð³Ù°ù±ðs d'usuari

Vista general

De vegades ¨¦s possible que vulgueu executar una comprovaci¨® d'agent que no ¨¦s predefinida amb Áú»¢¶Ä²©. 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 Áú»¢¶Ä²©. 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.

±Ê²¹°ù¨¤³¾±ð³Ù°ù±ðs 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
±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®
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.
Áú»¢¶Ä²© 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 Áú»¢¶Ä²© 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¨¤.