Regex varijabla može da se definiše samo na Service (Nagios) Monitoru. Kod Regex Varijable se parsira i izdvaja neka vrednost iz dela output-a izvršavanja Nagios plugin-a i to se koristi kao vrednost Varijable. Primer je check_http Nagios plug-in koji automatski dodaje varijablu Time Elapsed. Deo outputa Nagios plugin-a koji se parsira glasi:
time=0.770828s;;;0.000000 size=8024B;;;0
Regularni izraz za ovu varijablu glasi:
(?<=time=)\d+\.\d+(?=s;)
Objašnjenje ovog izraza:
izraz | opis |
---|---|
(?<=time=) | osiguraj da se na početku pronađenog izraza nalazi string koji tačno glasi "time=" - case sensitive, ali ga ne koristi za izračunatu vrednost (lookbehind) |
\d+ | pronađi bilo koju cifru (\d) jedan ili više puta (+) i koristi to za izračunatu vrednost |
\. | pronađi zatim tačku "." - tačka je specijalni znak pa se mora ovako da se iskaže |
(?=s;) | osiguraj da se na kraju pronađenog izraza nalazi string koji tačno glasi "s;" - case sensitive, ali ga ne koristi za izračunatu vrednost (lookback) |
Konačna vrednost ovog regularnog izraza je 0.770828. Kasnije vrednost ovog izraza može da se koristi u čartovima ili unutar drugih kompleksnih varijabli ili za alarme.
Još par primera:
izraz | vrednost | objašnjenje |
---|---|---|
(?<=size=)\d+(?=B) | 8024 | |
0\.00 | 0.00 | |
.+= | time=0.770828s;;;0.000000 size= | Uparuje bilo koji karakter sve do znaka jednako. Algoritam regularnog izraza je "greedy" pa će da nastavi uparivanje dokle god može, a to je do poslednjeg znaka "=" |
.+?= | time= | Uparuje bilo koji karakter sve do znaka jednako uz "lazy" modifikator. |
Više o regularnim izrazima - Regular Expression Info.