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. Šādos gadījumos noder lietotāja parametri.
Jūs varat uzrakstīt komandu, kas iegūst nepieciešamos datus, un iekļaut to lietotāja parametrā aģenta konfigurācijas failā (konfigurācijas parametrs 'UserParameter').
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. Ievadiet paša izvēlētu atslēgu, uz kuru būs viegli atsaukties (tai jābūt unikālai hosta ietvaros).
Restartē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 atsauktos 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 priekšapstrādes soļiem var tikt atgriezti līdz 16 MB datu.
UNIX operētājsistēmās kā komandrindas interpretators tiek izmantots /bin/sh. Lietotāja parametri ievēro aģenta pārbaudes noildzi; ja tiek sasniegta noildze, atzarotais lietotāja parametra process tiek pārtraukts.
Skatiet arī:
- Soli pa solim pamācību par lietotāja parametru izmantošanu
- Komandu izpilde
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īgi lietotāja parametri
Elastīgi lietotāja parametri pieņem parametrus ar atslēgu. Šādā veidā elastīgs lietotāja parametrs var būt par pamatu vairāku vienumu izveidei.
Elastīgiem lietotāja parametriem ir šāda sintakse:
UserParameter=key[*],command
| Parametrs | Apraksts |
|---|---|
| Atslēga | Unikāla vienuma atslēga. [*] norāda, ka šī atslēga pieņem parametrus iekavās. Parametri tiek norādīti, konfigurējot vienumu. |
| Komanda | Komanda, kas tiks izpildīta, lai noteiktu atslēgas vērtību. Tikai elastīgiem lietotāja parametriem: Komandā var izmantot pozicionālās atsauces $1…$9, lai norādītu uz attiecīgo parametru vienuma atslēgā. Zabbix analizē parametrus, kas ietverti vienuma atslēgas [ ], un attiecīgi aizstāj $1,...,$9 komandā. $0 tiks aizstāts ar sākotnējo komandu (pirms $0,...,$9 izvēršanas), kas jāizpilda. Pozicionālās atsauces tiek interpretētas neatkarīgi no tā, vai tās ir ietvertas dubultajās (") vai vienkāršajās (') pēdiņās. Lai izmantotu pozicionālās atsauces bez izmaiņām, norādiet dubultu dolāra zīmi — piemēram, awk '{print $$2}'. Šajā gadījumā $$2, izpildot komandu, faktiski pārvērtīsies par $2. |
Pozicionālās atsauces ar $ zīmi Zabbix aģents meklē un aizstāj tikai elastīgajiem lietotāja parametriem. Vienkāršajiem lietotāja parametriem šāda atsauču apstrāde tiek izlaista, un tādēļ $ zīmes ekrānēšana nav nepieciešama.
Noteiktas rakstzīmes lietotāja parametros pēc noklusējuma nav atļautas. 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.