5 Lietotāja parametri

Pārskats

Dažkārt var būt nepieciešams palaist aģenta pārbaudi, kas nav iepriekš definēta Zabbix. Šeit noder lietotāja parametri.

Jūs varat uzrakstīt komandu, kas izgūst nepieciešamos datus, un iekļaut to lietotāja parametrā aģenta konfigurācijas failā ('UserParameter' konfigurācijas parametrā).

Lietotāja parametram ir šāda sintakse:

UserParameter=<key>,<command>

Kā redzams, lietotāja parametrs satur arī atslēgu. Atslēga būs nepieciešama, konfigurējot vienumu. Norādiet sev ērtu atslēgu, kuru būs viegli izmantot atsaucēm (tai jābūt unikālai viena hosta ietvaros).

Pārstartējiet aģentu vai izmantojiet aģenta izpildlaika vadības opciju, lai ielādētu jauno parametru, piemēram:

zabbix_agentd -R userparameter_reload

Pēc tam, konfigurējot vienumu, ievadiet atslēgu, lai norādītu uz komandu no lietotāja parametra, kuru vēlaties izpildīt.

Lietotāja parametri ir komandas, ko izpilda Zabbix aģents. Ņemiet vērā, ka pirms vienuma vērtības pirmapstrādes soļiem var tikt atgriezti dati līdz 16 MB apjomā.

UNIX operētājsistēmās kā komandrindas interpretētājs tiek izmantots /bin/sh. Lietotāja parametri ievēro aģenta pārbaudes noildzi; ja noildze tiek sasniegta, atzarotais lietotāja parametra process tiek pārtraukts.

Skatiet arī:

Vienkāršu lietotāja parametru piemēri

Vienkārša komanda:

UserParameter=ping,echo 1

Aģents vienmēr atgriezīs '1' vienumam ar atslēgu 'ping'.

Sarežģītāks piemērs:

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

Aģents atgriezīs '1', ja MySQL serveris darbojas, pretējā gadījumā — '0'.

Elastīgie lietotāja parametri

Elastīgie lietotāja parametri pieņem parametrus ar atslēgu. Tādējādi elastīgs lietotāja parametrs var kalpot par pamatu vairāku vienumu izveidei.

Elastīgajiem lietotāja parametriem ir šāda sintakse:

UserParameter=key[*],command
Parameter Description
Key Unikāla vienuma atslēga. [*] nosaka, ka šī atslēga pieņem parametrus iekavās.
Parametri tiek norādīti, konfigurējot vienumu.
Command Komanda, kas jāizpilda, lai noteiktu atslēgas vērtību.
Tikai elastīgajiem lietotāja parametriem:
Komandā var izmantot pozicionālās atsauces $1…$9, lai norādītu uz attiecīgo parametru vienuma atslēgā.
Zabbix parsē vienuma atslēgas [ ] ietvertos parametrus un attiecīgi aizstāj komandā $1,...,$9.
$0 tiks aizstāts ar sākotnējo komandu (pirms $0,...,$9 paplašināšanas), kas jāizpilda.
Pozicionālās atsauces tiek interpretētas neatkarīgi no tā, vai tās ir ietvertas dubultpēdiņās (") vai vienpēdiņās (').
Lai izmantotu pozicionālās atsauces nemainītā veidā, norādiet dubultu dolāra zīmi - piemēram, awk '{print $$2}'. Šajā gadījumā $$2 izpildes laikā faktiski kļūs par $2.

Pozicionālās atsauces ar $ zīmi meklē un aizstāj tikai Zabbix aģents elastīgajiem lietotāja parametriem. Vienkāršajiem lietotāja parametriem šāda atsauču apstrāde tiek izlaista, un tāpēc $ zīmes citēšana nav nepieciešama.

Pēc noklusējuma lietotāja parametros nav atļautas noteiktas rakstzīmes. Pilnu rakstzīmju sarakstu skatiet UnsafeUserParameters.

Piemērs 1

Kaut kas ļoti vienkāršs:

UserParameter=ping[*],echo $1

Mēs varam definēt neierobežotu skaitu vienumu uzraudzībai, kuriem visiem ir formāts ping[kaut kas].

  • ping[0] - vienmēr atgriezīs '0'
  • ping[aaa] - vienmēr atgriezīs 'aaa'
Piemērs 2

Pievienosim vairāk jēgas!

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

Šo parametru var izmantot MySQL datubāzes pieejamības uzraudzībai. Mēs varam nodot lietotājvārdu un paroli:

mysql.ping[zabbix,our_password]
Piemērs 3

Cik rindu failā atbilst regulārai izteiksmei?

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

Šo parametru var izmantot, lai aprēķinātu rindu skaitu failā.

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

Komandas rezultāts

Komandas atgrieztā vērtība ir standarta izvade kopā ar standarta kļūdu, ko ģenerē komanda.

Vienums, kas atgriež tekstu (rakstzīmju, žurnāla vai teksta tipa informāciju), nekļūs neatbalstīts standarta kļūdas izvades gadījumā.

Atgrieztā vērtība ir ierobežota līdz 16MB (ieskaitot beigu atstarpes, kas tiek apgrieztas); piemērojami arī datu bāzes ierobežojumi.

Lietotāja parametri, kas atgriež tekstu (rakstzīmju, žurnāla vai teksta tipa informāciju), var atgriezt arī atstarpi. Nederīga rezultāta gadījumā vienums kļūs neatbalstīts.