Espressioni regolari compatibili con Perl (PCRE, PCRE2) sono supportati in Zabbix.
Esistono due modi per utilizzare le espressioni regolari in Zabbix:
Puoi inserire manualmente un'espressione regolare nelle posizioni supportate. Nota che l'espressione potrebbe non iniziare con @ perché quel simbolo è usato in Zabbix per fare riferimento a espressioni regolari globali.
È possibile esaurire lo stack quando si utilizzano le espressioni regolari. Vedi pcrestack man page per ulteriori informazioni informazione.
Si noti che nella corrispondenza multilinea, gli ancoraggi ^
e $
corrispondono rispettivamente inizio/fine di ogni riga, invece dell'inizio/fine di l'intera stringa.
C'è un editor avanzato per la creazione e il test delle espressioni regolari complesse nel frontend di Zabbix.
Una volta che un'espressione regolare è stata creata in questo modo, può essere utilizzata in diversi posti nel frontend facendo riferimento al suo nome, preceduto da @, ad esempio, @mycustomregexp.
Per creare un'espressione regolare globale:
La scheda Espressioni consente di impostare il nome dell'espressione regolare e aggiungere sottoespressioni.
Tutti i campi obbligatori sono contrassegnati da un asterisco rosso.
|Parametro|<|Descrizione| |-|----------|----------------------------------- ----| |Name|<|Imposta il nome dell'espressione regolare. Sono consentiti tutti i caratteri Unicode.| |Espressioni|<|Clicca su Aggiungi nel blocco Espressioni per aggiungere una nuova sottoespressione.| | |Tipo di espressione|Seleziona il tipo di espressione:
Stringa di caratteri inclusa - corrisponde alla sottostringa
Qualsiasi stringa di caratteri inclusa - corrisponde a qualsiasi sottostringa da un elenco delimitato. L'elenco delimitato include una virgola (,), un punto (.) o una barra (/).
Stringa di caratteri non inclusa: corrisponde a qualsiasi stringa tranne la sottostringa
Il risultato è VERO* * - corrisponde all'espressione regolare
Il risultato è FALSO** - non corrisponde all'espressione regolare| |^|Espressione|Inserisci sottostringa/espressione regolare.| |Delimitatore|<|Una virgola (,), un punto (.) o una barra (/) per separare le stringhe di testo in un'espressione regolare. Questo parametro è attivo solo quando è selezionato il tipo di espressione "Qualsiasi stringa di caratteri inclusa".| |Case sensitive|<|Una casella di controllo per specificare se un'espressione regolare è sensibile all'uso delle lettere maiuscole.|
Una barra (/) nell'espressione viene trattata letteralmente, piuttosto che un delimitatore. In questo modo è possibile salvare espressioni contenenti a barra, senza errori.
::: nota importante Un nome di espressione regolare personalizzato in Zabbix potrebbe contenere virgole, spazi, ecc. Nei casi in cui ciò può portare a interpretazione errata quando si fa riferimento (ad esempio, una virgola nel file parametro di una chiave di elemento) l'intero riferimento può essere messo tra virgolette come this: "@My custom regexp for purpose1, purpose2".
I nomi delle espressioni regolari non devono essere racchiusi tra virgolette in altre posizioni (ad es esempio, nelle proprietà della regola LLD). :::
Nella scheda Test l'espressione regolare e le sue sottoespressioni possono essere testato fornendo una stringa di prova.
I risultati mostrano lo stato di ciascuna sottoespressione e il totale personalizzato stato di espressione.
Lo stato dell'espressione personalizzata totale è definito come Risultato combinato. Se diverse sottoespressioni sono definite Zabbix usa l'operatore logico AND to calcolare Risultato combinato. Significa che se almeno un Risultato è Anche False Risultato combinato ha lo stato False.
Zabbix viene fornito con diverse espressioni regolari globali nella sua impostazione predefinita insieme di dati.
Nome | Espressione | Corrispondenze |
---|---|---|
File system per la scoperta | ^(btrfs\|ext2\|ext3\|ext4\|jfs\|reiser\|xfs\|ffs\|ufs\|jfs\|jfs2\|vxfs\|hfs\| refs\|apfs\|ntfs\|fat32\|zfs)$ |
"btrfs" o "ext2" o "ext3" o "ext4" o "jfs" o "reiser" o "xfs" o "ffs" o " ufs" o "jfs" o "jfs2" o "vxfs" o "hfs" o "refs" o "apfs" o "ntfs" o "fat32" o "zfs" |
Interfacce di rete per il rilevamento | ^Software Loopback Interface |
Stringhe che iniziano con "Software Loopback Interface". |
^lo$ |
"lo" | |
^(In)?[Ll]oop[Bb]ack[0-9._]*$ |
Stringhe che iniziano facoltativamente con "In", poi hanno "L" o "l", quindi "oop", quindi "B" o "b", quindi "ack", che può essere facoltativamente seguito da qualsiasi numero di cifre, punti o caratteri di sottolineatura. | |
^NULL[0-9.]*$ |
Stringhe che iniziano con "NULL" eventualmente seguito da qualsiasi numero di cifre o punti. | |
^[Ll]o[0-9.]*$ |
Stringhe che iniziano con "Lo" o "lo" e facoltativamente seguite da qualsiasi numero di cifre o punti. | |
^[Ss]ystem$ |
"Sistema" o "sistema" | |
^Nu[0-9.]*$ |
Stringhe che iniziano con "Nu" eventualmente seguito da qualsiasi numero di cifre o punti. | |
Dispositivi di archiviazione per rilevamento SNMP | ^(Memoria fisica\|Memoria virtuale\|Buffer di memoria\|Memoria cache\|Spazio di scambio)$ |
"Memoria fisica" o "Memoria virtuale" o "Buffer di memoria" o " Memoria cache" o "Scambia spazio" |
Nomi dei servizi Windows per il rilevamento | ^(MMCSS\|gupdate\|SysmonLog\|clr_optimization_v2.0.50727_32\|clr_optimization_v4.0.30319_32)$ |
"MMCSS" o "gupdate" o "SysmonLog" o stringhe come " clr_optimization_v2.0.50727_32" e "clr_optimization_v4.0.30319_32" dove al posto dei punti puoi inserire qualsiasi carattere tranne la nuova riga. |
Stati di avvio del servizio Windows per il rilevamento | ^(automatico\|automatico ritardato)$ |
"automatico" o "automatico ritardato" |
Uso della seguente espressione nella scoperta di basso livello da scoprire database tranne un database con un nome specifico:
Tipo di espressione scelto: "Il risultato è FALSO". non corrisponde al nome, contenente la stringa "TESTDATABASE".
Uso della seguente espressione regolare incluso un modificatore inline (?i) per abbinare i caratteri "errore":
Tipo di espressione scelto: "Il risultato è VERO". I caratteri "errore" sono abbinato.
Uso della seguente espressione regolare incluso multiple inline modificatori per abbinare i caratteri dopo una riga specifica:
(?<=match (?i)everything(?-i) after this line\n)(?sx).*# aggiungiamo il modificatore s per consentire . corrispondere ai caratteri di nuova riga
Tipo di espressione scelto: "Il risultato è VERO". Caratteri dopo uno specifico linea sono abbinati.
::: nota importante Il modificatore g non può essere specificato nella riga. Il l'elenco dei modificatori disponibili può essere trovato in pcresyntax man page. Per ulteriori informazioni sulla sintassi PCRE si prega di fare riferimento a PCRE HTML documentazione.
:::
|Posizione|<|Espressione regolare|Espressione regolare globale|Corrispondenza multilinea|Commenti| |-|----------|---------|---------|---------|------ ---------------| |Elementi agente|<|<|<|<|<| |<|registro eventi[]|Sì|Sì|Sì|Parametri regexp
, severity
, source
, eventid
| ||log[]||||parametro regexp
| ||log.count[]||||^| ||logrt[]||Sì/No|^|Il parametro regexp
supporta entrambi, il parametro file_regexp
supporta solo espressioni non globali| ||logrt.count[]||||^ ||proc.cpu.util[]||No|No|parametro cmdline
| ||proc.mem[]||||^| ||proc.num[]||||^| ||sensor[]||||parametri device
e sensor
su Linux 2.4| ||system.hw.macaddr[]||||parametro interface
| ||system.sw.packages[]||||parametro pacchetto
| ||vfs.dir.count[]||||regex_incl
, regex_excl
, regex_excl_dir
parametri| ||vfs.dir.size[]||||regex_incl
, regex_excl
, regex_excl_dir
parametri| ||vfs.file.regexp[]||^|Sì|parametro regexp
| ||vfs.file.regmatch[]||||^| ||web.page.regexp[]||||^| |Trap SNMP|<|<|<|<|<| |<|snmptrap[]|Sì|Sì|No|parametro regexp
| |Preelaborazione valore elemento|<|Sì|No|No|parametro pattern
| |Funzioni per trigger/elementi calcolati|<|<|<|<|<| |<|count()|Sì|Sì|Sì|parametro pattern
se il parametro operator
è regexp o iregexp| |<|countunique()|Sì|Sì||| |<|find()|Sì|Sì||| |^|logeventid()|Sì|Sì|No|parametro pattern
| ||logsource()||||^| |Scoperta di basso livello|<|<|<|<|<| |<|Filtri|Sì|Sì|No|Campo espressione regolare| ||Sostituisce|Sì|No||In corrisponde, non corrisponde alle opzioni per le condizioni di Operazione| |Condizioni azione|<|Sì|No|No|In corrisponde, non corrisponde alle opzioni per Nome host e Metadati host condizioni di registrazione automatica| |Monitoraggio web|<|Sì|No|Sì|Variabili con prefisso regex:
Campo Stringa obbligatoria| |Contesto macro utente|<|Sì|No|No|Nel contesto macro con prefisso regex:| |Funzioni macro|<|<|<|<|<| |<|regsub()|Sì|No|No|parametro pattern
| ||iregsub()||||^| |Mappatura icone|<|Sì|Sì|No|Espressione* campo| |Mappatura valori|<|Sì|No|No|Campo valore se il tipo di mappatura è regexp
|