Regulārās izteiksmes
Pārskats
Perl Compatible Regular Expressions (PCRE, PCRE2) tiek atbalstītas Zabbix.
Zabbix regulārās izteiksmes var izmantot divos veidos:
- Manuāli ievadot regulāro izteiksmi
- Izmantojot globālo regulāro izteiksmi, kas izveidota Zabbix
Regulārās izteiksmes
Jūs varat manuāli ievadīt regulāro izteiksmi atbalstītajās vietās.
Ņemiet vērā, ka izteiksme nedrīkst sākties ar @, jo šis simbols Zabbix tiek izmantots globālo regulāro izteiksmju atsaucei.
Izmantojot regulārās izteiksmes, var beigties steka atmiņa. Plašāku informāciju skatiet PCRE PERFORMANCE.
Ņemiet vērā, ka vairākrindu atbilstības gadījumā enkuri ^ un $ atbilst attiecīgi katras rindas sākumam un beigām, nevis visas virknes sākumam un beigām.
Skatiet arī piemērus par pareizu simbolu atsoļošanu dažādos kontekstos.
Globālie regulārie izteicieni
Zabbix lietotāja saskarne piedāvā papildu redaktoru sarežģītu regulāro izteicienu izveidei un testēšanai.
Lai tam piekļūtu, dodieties uz Administration > General > Regular expressions.
Zabbix noklusējuma datu kopā ir iekļauts vairāku iepriekš definētu globālo regulāro izteicienu kopums.

Jūs varat filtrēt regulāro izteicienu sarakstu pēc nosaukuma un apraksta, lai atrastu nepieciešamos izteicienus.
Konfigurācija
Lai izveidotu globālu regulāro izteiksmi, noklikšķiniet uz Izveidot regulāro izteiksmi un formā ievadiet regulārās izteiksmes parametrus.

Visi obligātie ievades lauki ir atzīmēti ar sarkanu zvaigznīti.
| Parametrs | Apraksts | |
|---|---|---|
| Nosaukums | Norādiet regulārās izteiksmes nosaukumu. Ir atļautas jebkādas Unicode rakstzīmes. | |
| Izteiksmes | Noklikšķiniet uz Pievienot sadaļā Izteiksmes, lai pievienotu jaunu apakšizteiksmi. | |
| Izteiksmes tips | Izvēlieties izteiksmes tipu: Satur virkni - atbilst apakšvirknei. Satur jebkuru apakšvirkni no saraksta - atbilst jebkurai apakšvirknei no norobežota saraksta. Norobežotais saraksts ietver komatu ,, punktu . vai slīpsvītru /.Nesatur virkni - atbilst jebkurai virknei, izņemot apakšvirkni. Atbilst regulārajai izteiksmei - atbilst regulārajai izteiksmei. Neatbilst regulārajai izteiksmei - neatbilst regulārajai izteiksmei. |
|
| Izteiksme | Ievadiet apakšvirkni/regulāro izteiksmi. Maksimālais garums: 2048 rakstzīmes. |
|
| Norobežotājs | Komats ,, punkts . vai slīpsvītra /, lai atdalītu teksta virknes regulārajā izteiksmē. Šis parametrs ir aktīvs tikai tad, ja ir izvēlēts izteiksmes tips Satur jebkuru apakšvirkni no saraksta. |
|
| Reģistrjutīgs | Atzīmes rūtiņa, lai norādītu, vai regulārā izteiksme ir jutīga pret burtu lielumu. | |
| Apraksts | Ievadiet regulārās izteiksmes aprakstu. | |
| Testa izteiksme | Vērtība, ko izmantot regulārās izteiksmes testēšanai. | |
Slīpsvītra / izteiksmē tiek interpretēta burtiski, nevis kā norobežotājs.
Tas ļauj saglabāt izteiksmes, kas satur slīpsvītru, bez kļūdām.
Pielāgots regulārās izteiksmes nosaukums Zabbix var saturēt komatus, atstarpes utt.
Gadījumos, kad tas var novest pie nepareizas interpretācijas, uz to atsaucoties (piemēram, komats vienuma atslēgas parametrā), visu atsauci var ietvert pēdiņās, piemēram, šādi: "\@My custom regexp for purpose1, purpose2".
Regulārās izteiksmes nosaukumus citās vietās nedrīkst likt pēdiņās (piemēram, LLD noteikuma rekvizītos).
Kad regulārā izteiksme ir izveidota, to var izmantot vairākās vietās lietotāja saskarne, atsaucoties uz tās nosaukumu ar prefiksu @, piemēram, @mycustomregexp.
Veidlapas pogas
Pogas veidlapas apakšdaļā ļauj veikt dažādas darbības:
| Poga | Apraksts |
|---|---|
![]() |
Pievienot regulāro izteiksmi. Šī poga ir pieejama tikai jaunām regulārajām izteiksmēm. |
![]() |
Atjaunināt regulārās izteiksmes īpašības. |
![]() |
Izveidot citu regulāro izteiksmi, pamatojoties uz pašreizējās regulārās izteiksmes īpašībām. |
![]() |
Pārbaudīt regulāro izteiksmi un tās apakšizteiksmes pret norādīto vērtību. |
![]() |
Dzēst regulāro izteiksmi. |
![]() |
Atcelt regulārās izteiksmes īpašību rediģēšanu. |
Regulārās izteiksmes testēšana
Jūs varat pārbaudīt regulāro izteiksmi un tās apakšizteiksmes, ievadot vērtību laukā Test expression un noklikšķinot uz Test pogas.

Kolonnā Test result tiek parādīts katras apakšizteiksmes statuss.
Lauks Combined result parāda regulārās izteiksmes kopējo statusu.
Ja ir definētas vairākas apakšizteiksmes, Zabbix izmanto loģisko AND operatoru, lai aprēķinātu Combined result; tas ir, ja vismaz viens rezultāts ir False, tad arī Combined result ir False.
Noklusējuma globālie regulārie izteicieni
Noklusējuma datu kopā ir iekļauti šādi iepriekš definēti globālie regulārie izteicieni:
| Name | Expression | Matches |
|---|---|---|
| Failu sistēmas atklāšanai | ^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$ |
"btrfs" vai "ext2" vai "ext3" vai "ext4" vai "reiser" vai "xfs" vai "ffs" vai "ufs" vai "jfs" vai "jfs2" vai "vxfs" vai "hfs" vai "apfs" vai "refs" vai "ntfs" vai "fat32" vai "zfs". |
| Tīkla saskarnes atklāšanai | ^Software Loopback Interface |
Virknes, kas sākas ar "Software Loopback Interface". |
^lo$ |
"lo". | |
^(In)?[Ll]oop[Bb]ack[0-9._]*$ |
Virknes, kas pēc izvēles sākas ar "In", kam seko "L" vai "l", pēc tam "oop", pēc tam "B" vai "b", pēc tam "ack", un pēc izvēles seko jebkurš ciparu, punktu vai pasvītrojumu skaits. | |
^NULL[0-9.]*$ |
Virknes, kas sākas ar "NULL" un kam pēc izvēles seko jebkurš ciparu vai punktu skaits. | |
^[Ll]o[0-9.]*$ |
Virknes, kas sākas ar "Lo" vai "lo" un kam pēc izvēles seko jebkurš ciparu vai punktu skaits. | |
^[Ss]ystem$ |
"System" vai "system". | |
^Nu[0-9.]*$ |
Virknes, kas sākas ar "Nu" un kam pēc izvēles seko jebkurš ciparu vai punktu skaits. | |
| SNMP atklāšanas krātuves ierīcēm | ^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$ |
"Physical memory" vai "Virtual memory" vai "Memory buffers" vai "Cached memory" vai "Swap space". |
| Windows pakalpojumu nosaukumiem atklāšanai | ^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$ |
"MMCSS" vai "gupdate" vai "SysmonLog" vai virknes, kas atbilst "clr_optimization_v2.0.50727_32" vai "clr_optimization_v4.0.30319_32", kur katru punktu var aizstāt ar jebkuru rakstzīmi, izņemot jaunu rindu. |
| Windows pakalpojumu startēšanas stāvokļiem atklāšanai | ^(automatic|automatic delayed)$ |
"automatic" vai "automatic delayed". |
Regulārās izteiksmes importēšana/eksportēšana
Globālās regulārās izteiksmes var importēt vai eksportēt, kā aprakstīts Regulārās izteiksmes eksportēšanas/importēšanas konfigurācijas lapā.
Piemēri
Precīzas virknes izslēgšanas piemērs
Lai zemā līmeņa atklāšanā atrastu datubāzes, izņemot datubāzi ar noteiktu nosaukumu, izmantojiet šādu izteiksmi:
^TESTDATABASE$

Gan Test result, gan Combined result rāda FALSE: nosaukums atbilst "TESTDATABASE", tāpēc nosacījums Does not match regular expression nav izpildīts.
Piemērs ar iekļautu regulārās izteiksmes modifikatoru reģistrjutības ignorēšanai
Izmantojiet šādu regulāro izteiksmi, kurā ir iekļauts iekšējais modifikators (?i), lai veiktu simbolu "error" reģistrneatkarīgu atbilstību:
(?i)error

Gan Test result, gan Combined result rāda TRUE: simboli "error" tiek atrasti pat tad, ja ir atlasīts Case sensitive, jo iekšējais modifikators (?i) padara atbilstību reģistrneatkarīgu.
Piemērs ar vairākiem inline regex modifikatoriem
Izmantojiet šādu regulāro izteiksmi, kas ietver vairākus inline modifikatorus, lai saskaņotu rakstzīmes pēc noteiktas rindas:
(?<=match (?i)eveRything(?-i) after this line\r\n)(?sx).*# comment
kur:
(?i)- ieslēdz reģistrjutības ignorēšanu;(?-i)- izslēdz reģistrjutības ignorēšanu;(?s)- iespējo dotall režīmu, ļaujot.saskaņot jaunas rindas rakstzīmes;(?x)- iespējo paplašināto režīmu, ļaujot regulārajā izteiksmē ignorēt atstarpes un komentārus.

Gan Test result, gan Combined result rāda TRUE: tiek saskaņotas rakstzīmes, kas seko konkrētajai rindai.
g modifikatoru nevar norādīt inline.
Pieejamo modifikatoru sarakstu var atrast pcresyntax man page.
Lai iegūtu vairāk informācijas par PCRE sintaksi, lūdzu, skatiet PCRE HTML dokumentāciju.
Regulārās izteiksmes atbalsts pēc atrašanās vietas
| Atrašanās vieta | Regulārā izteiksme | Globālā regulārā izteiksme | Daudzrindu atbilstība | Komentāri | |
|---|---|---|---|---|---|
| Aģenta vienumi | |||||
| eventlog[] | Jā | Jā | Jā | regexp, severity, source, eventid parametri |
|
| eventlog.count[] | regexp, severity, source, eventid parametri |
||||
| log[] | regexp parametrs |
||||
| log.count[] | |||||
| logrt[] | Jā/Nē | regexp parametrs atbalsta abus, file_regexp parametrs atbalsta tikai neglobālās izteiksmes |
|||
| logrt.count[] | |||||
| proc.cpu.util[] | Nē | Nē | cmdline parametrs |
||
| proc.get[] | |||||
| proc.mem[] | |||||
| proc.num[] | |||||
| sensor[] | device un sensor parametri Linux 2.4 |
||||
| system.hw.macaddr[] | interface parametrs |
||||
| system.sw.packages[] | regexp parametrs |
||||
| system.sw.packages.get[] | regexp parametrs |
||||
| vfs.dir.count[] | regex_incl, regex_excl, regex_excl_dir parametri |
||||
| vfs.dir.get[] | regex_incl, regex_excl, regex_excl_dir parametri |
||||
| vfs.dir.size[] | regex_incl, regex_excl, regex_excl_dir parametri |
||||
| vfs.file.regexp[] | Jā | regexp parametrs |
|||
| vfs.file.regmatch[] | |||||
| web.page.regexp[] | |||||
| SNMP slazdi | |||||
| snmptrap[] | Jā | Jā | Nē | regexp parametrs |
|
| Vienuma vērtības pirmapstrāde | Jā | Nē | Nē | pattern parametrs |
|
| Funkcijas trigeriem/ aprēķinātajiem vienumiem | |||||
| count() | Jā | Jā | Jā | pattern parametrs, ja operator parametrs ir regexp vai iregexp |
|
| countunique() | Jā | Jā | |||
| find() | Jā | Jā | |||
| logeventid() | Jā | Jā | Nē | pattern parametrs |
|
| logsource() | |||||
| Zema līmeņa atklāšana | |||||
| Filtri | Jā | Jā | Nē | Regulārā izteiksme lauks | |
| Pārrakstīšanas | Jā | Nē | Opcijās atbilst, neatbilst sadaļā Operation nosacījumi | ||
| Darbību nosacījumi | Jā | Nē | Nē | Opcijās atbilst, neatbilst sadaļā Host name un Host metadata automātiskās reģistrācijas nosacījumi | |
| Skripti | Jā | Jā | Nē | Input validation rule lauks | |
| Tīmekļa uzraudzība | Jā | Nē | Jā | Variables ar prefiksu regex: Required string lauks |
|
| Lietotāja makro konteksts | Jā | Nē | Nē | Makro kontekstā ar prefiksu regex: | |
| Makro funkcijas | |||||
| regsub() | Jā | Nē | Nē | pattern parametrs |
|
| iregsub() | |||||
| Saišu indikatori kartēs | Jā | Nē | Nē | Pattern lauks (teksta vienumiem) | |
| Ikonu kartēšana | Jā | Jā | Nē | Expression lauks | |
| Vērtību kartēšana | Jā | Nē | Nē | Value lauks, ja kartēšanas tips ir regexp |
|
| Aģenta konfigurācijas parametri | |||||
| AllowKeyRegexp | Jā | Nē | Nē | Raksts | |
| DenyKeyRegexp | |||||





