Perl Compatible Regular Expressions (PCRE, PCRE2) worden ondersteund in Zabbix.
Er zijn twee manieren om reguliere expressies in Zabbix te gebruiken:
Je kunt handmatig een reguliere expressie invoeren op ondersteunde plaatsen. Let op dat de expressie niet mag beginnen met @, omdat dat symbool in Zabbix wordt gebruikt voor het refereren naar wereldwijde reguliere expressies.
Het is mogelijk om zonder stackruimte te komen bij het gebruik van reguliere expressies. Zie de pcrestack man pagina voor meer informatie.
Merk op dat bij multiline matching, de ^
en $
ankers overeenkomen met het begin/einde van elke regel respectievelijk, in plaats van het begin/einde van de hele tekenreeks.
Er is een geavanceerde editor om complexe reguliere expressies te maken en te testen in de Zabbix frontend.
Zodra een reguliere expressie op deze manier is gemaakt, kan deze op verschillende plaatsen in de frontend worden gebruikt door te verwijzen naar de naam ervan, voorafgegaan door @, bijvoorbeeld @mycustomregexp.
Om een globale reguliere expressie te maken:
Het tabblad Uitdrukkingen stelt je in staat om de naam van de reguliere expressie in te stellen en subexpressies toe te voegen.
Alle verplichte invoervelden zijn gemarkeerd met een rode asterisk.
Parameter | Beschrijving | |
---|---|---|
Naam | Stel de naam van de reguliere expressie in. Alle Unicode karakters zijn toegestaan. | |
Uitdrukkingen | Klik op Toevoegen in het Uitdrukkingen blok om een nieuwe subexpressie toe te voegen. | |
Uitdrukkingstype | Selecteer het uitdrukkingstype: Karakterreeks inbegrepen - zoek de substring Willekeurige karakterreeks inbegrepen - zoek elke substring uit een gescheiden lijst. De gescheiden lijst bevat een komma (,), een punt (.) of een schuine streep (/). Karakterreeks niet inbegrepen - zoek elke string behalve de substring Resultaat is WAAR - zoek de reguliere expressie Resultaat is ONWAAR - zoek de reguliere expressie niet |
|
Uitdrukking | Voer de substring/reguliere expressie in. | |
Scheidingsteken | Een komma (,), een punt (.) of een schuine streep (/) om tekststrings te scheiden in een reguliere expressie. Deze parameter is alleen actief wanneer het uitdrukkingstype "Willekeurige karakterreeks inbegrepen" is geselecteerd. | |
Hoofdlettergevoelig | Een selectievakje om aan te geven of een reguliere expressie gevoelig is voor hoofdletters van letters. |
Een schuine streep (/) in de expressie wordt letterlijk behandeld, in plaats van een scheidingsteken. Op deze manier is het mogelijk om expressies die een schuine streep bevatten, op te slaan zonder fouten.
Een aangepaste naam voor een reguliere expressie in Zabbix kan komma's, spaties, etc. bevatten. In die gevallen waarin dat kan leiden tot verkeerde interpretatie bij verwijzing (bijvoorbeeld, een komma in de parameter van een item sleutel) kan de hele verwijzing tussen aanhalingstekens worden geplaatst zoals dit: "@My custom regexp for purpose1, purpose2".
Reguliere expressienamen mogen niet tussen aanhalingstekens worden geplaatst op andere locaties (bijvoorbeeld in LLD regel eigenschappen).
In het tabblad Test kunnen de reguliere expressie en de subexpressies worden getest door een testreeks op te geven.
De resultaten tonen de status van elke subexpressie en de totale status van de aangepaste expressie.
De totale status van de aangepaste expressie wordt gedefinieerd als Gecombineerd resultaat. Als er meerdere subexpressies zijn gedefinieerd, gebruikt Zabbix de logische operator AND om het Gecombineerde resultaat te berekenen. Dit betekent dat als minstens één Resultaat onwaar is, het Gecombineerde resultaat ook de status Onwaar heeft.
Zabbix wordt geleverd met verschillende globale reguliere expressies in zijn standaard dataset.
Naam | Expressie | Matches |
---|---|---|
Bestandssystemen voor ontdekking | ^(btrfs|ext2|ext3|ext4|jfs|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|refs|apfs|ntfs|fat32|zfs)$ |
"btrfs" of "ext2" of "ext3" of "ext4" of "jfs" of "reiser" of "xfs" of "ffs" of "ufs" of "jfs" of "jfs2" of "vxfs" of "hfs" of "refs" of "apfs" of "ntfs" of "fat32" of "zfs" |
Netwerkinterfaces voor ontdekking | ^Software Loopback Interface |
Tekenreeksen die beginnen met "Software Loopback Interface". |
^lo$ |
"lo" | |
^(In)?[Ll]oop[Bb]ack[0-9._]*$ |
Tekenreeksen die optioneel beginnen met "In", dan "L" of "l", dan "oop", dan "B" of "b", dan "ack", die optioneel gevolgd kunnen worden door willekeurig veel cijfers, punten of underscores. | |
^NULL[0-9.]*$ |
Tekenreeksen die beginnen met "NULL" en optioneel gevolgd kunnen worden door willekeurig veel cijfers of punten. | |
^[Ll]o[0-9.]*$ |
Tekenreeksen die beginnen met "Lo" of "lo" en optioneel gevolgd kunnen worden door willekeurig veel cijfers of punten. | |
^[Ss]ystem$ |
"System" of "system" | |
^Nu[0-9.]*$ |
Tekenreeksen die beginnen met "Nu" en optioneel gevolgd kunnen worden door willekeurig veel cijfers of punten. | |
Opslagapparaten voor SNMP-ontdekking | ^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$ |
"Physical memory" of "Virtual memory" of "Memory buffers" of "Cached memory" of "Swap space" |
Windows-servicenamen voor ontdekking | ^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$ |
"MMCSS" of "gupdate" of "SysmonLog" of tekenreeksen zoals "clr_optimization_v2.0.50727_32" en "clr_optimization_v4.0.30319_32" waar in plaats van punten je elk teken behalve een nieuwe regel kunt plaatsen. |
Windows-servicestartstatussen voor ontdekking | ^(automatic|automatic delayed)$ |
"automatic" of "automatic delayed" |
Gebruik van de volgende expressie in low-level ontdekking om databases te ontdekken, behalve een database met een specifieke naam:
Gekozen Uitdrukkingstype: "Resultaat is FALSE". Komt niet overeen met de naam die de string "TESTDATABASE" bevat.
Gebruik van de volgende reguliere expressie inclusief een inline modifier (?i) om de tekens "error" te matchen:
Gekozen Uitdrukkingstype: "Resultaat is TRUE". De tekens "error" worden gematcht.
Gebruik van de volgende reguliere expressie inclusief meerdere inline modifiers om de tekens na een specifieke regel te matchen:
(?<=match (?i)everything(?-i) after this line\n)(?sx).*# we add s modifier to allow . match newline characters
Gekozen Uitdrukkingstype: "Resultaat is TRUE". Tekens na een specifieke regel worden gematcht.
g-modifier kan niet in lijn worden gespecificeerd. De lijst met beschikbare modifiers is te vinden in de pcresyntax man pagina. Voor meer informatie over PCRE-syntaxis, raadpleeg de PCRE HTML-documentatie.
Locatie | Reguliere expressie | Globale reguliere expressie | Multilijn overeenkomst | Opmerkingen | |
---|---|---|---|---|---|
Agent items | |||||
eventlog[] | Ja | Ja | Ja | Parameters regexp , severity , source , eventid |
|
log[] | Parameter regexp |
||||
log.count[] | |||||
logrt[] | Ja/Nee | Parameter regexp ondersteunt beide, parameter file_regexp ondersteunt alleen niet-globale expressies |
|||
logrt.count[] | |||||
proc.cpu.util[] | Nee | Nee | Parameter cmdline |
||
proc.mem[] | |||||
proc.num[] | |||||
sensor[] | Parameters device en sensor op Linux 2.4 |
||||
system.hw.macaddr[] | Parameter interface |
||||
system.sw.packages[] | Parameter package |
||||
vfs.dir.count[] | Parameters regex_incl , regex_excl , regex_excl_dir |
||||
vfs.dir.get[] | Parameters regex_incl , regex_excl , regex_excl_dir |
||||
vfs.dir.size[] | Parameters regex_incl , regex_excl , regex_excl_dir |
||||
vfs.file.regexp[] | Ja | Parameter regexp |
|||
vfs.file.regmatch[] | |||||
web.page.regexp[] | |||||
SNMP-traps | |||||
snmptrap[] | Ja | Ja | Nee | Parameter regexp |
|
Itemwaarde voorbewerking | Ja | Nee | Nee | Parameter pattern |
|
Functies voor triggers/berekende items | |||||
count() | Ja | Ja | Ja | Parameter pattern als operator -parameter regexp of iregexp is |
|
countunique() | Ja | Ja | |||
find() | Ja | Ja | |||
logeventid() | Ja | Ja | Nee | Parameter pattern |
|
logsource() | |||||
Lagedrempelontdekking | |||||
Filters | Ja | Ja | Nee | Veld Reguliere expressie | |
Overrides | Ja | Nee | Opties Overeenkomt met, Komt niet overeen met voor Operatie voorwaarden | ||
Actievoorwaarden | Ja | Nee | Nee | Opties Overeenkomt met, Komt niet overeen met voor autoregistratievoorwaarden Hostnaam en Hostmetadata | |
Webmonitoring | Ja | Nee | Ja | Variabelen met een voorvoegsel regex: Veld Vereiste string |
|
Gebruikermacro-context | Ja | Nee | Nee | In macrocontext met een voorvoegsel regex: | |
Macrofuncties | |||||
regsub() | Ja | Nee | Nee | Parameter pattern |
|
iregsub() | |||||
Pictogramtoewijzing | Ja | Ja | Nee | Veld Uitdrukking | |
Waardetoewijzing | Ja | Nee | Nee | Veld Waarde als het mappingtype regexp is |