Perl Compatible Regular Expressions (PCRE, PCRE2) sont pris en charge dans Zabbix.
Il existe deux manières d'utiliser les expressions régulières dans Zabbix :
Vous pouvez entrer manuellement une expression régulière dans les emplacements pris en charge. Notez que l'expression ne peut pas commencer par @ car ce symbole est utilisé dans Zabbix pour référencer des expressions régulières globales.
Il est possible de manquer de pile (out of stack) lors de l'utilisation d'expressions régulières. Consultez la page de manuel de pcrestack pour plus d'informations.
Notez que dans la correspondance multiligne, les ancres ^
et $
correspondent respectivement au début/à la fin de chaque ligne, au lieu du début/de la fin de la chaîne entière.
Il existe un éditeur avancé pour créer et tester des expressions régulières complexes dans l'interface Zabbix.
Une fois qu'une expression régulière a été créée de cette façon, elle peut être utilisée à plusieurs endroits dans le frontend en se référant à son nom, préfixé par @, par exemple, @mycustomregexp.
Pour créer une expression régulière globale :
L'onglet Expressions permet de définir le nom de l'expression régulière et d'ajouter des sous-expressions.
Tous les champs de saisie obligatoires sont marqués d'un astérisque rouge.
Paramètre | Description | |
---|---|---|
Nom | Définissez le nom de l'expression régulière. Tous les caractères Unicode sont autorisés. | |
Expressions | Cliquez sur Ajouter dans le bloc Expressions pour ajouter une nouvelle sous-expression. | |
Type d'expression | Sélectionnez le type d'expression : Chaîne de caractères incluse - correspond à la sous-chaîne Toute chaîne de caractères incluse - correspond à toutes les sous-chaînes d'une liste délimitée. La liste délimitée comprend une virgule (,), un point (.) ou une barre oblique (/). Chaîne de caractères non incluse - correspond à n'importe quelle chaîne sauf la sous-chaîne Le résultat est VRAI - correspond à l'expression régulière Le résultat est FAUX - ne correspond pas à l'expression régulière |
|
Expression | Saisissez une sous-chaîne/expression régulière. | |
Délimiteur | Une virgule (,), un point (.) ou une barre oblique (/) pour séparer les chaînes de texte dans une expression régulière. Ce paramètre n'est actif que lorsque le type d'expression "Toute chaîne de caractères incluse" est sélectionné. | |
Sensible à la casse | Une case à cocher pour spécifier si une expression régulière est sensible à la casse des lettres. |
Une barre oblique (/) dans l'expression est traitée littéralement, plutôt qu'un délimiteur. De cette façon, il est possible d'enregistrer des expressions contenant une barre oblique, sans erreur.
Un nom d'expression régulière personnalisé dans Zabbix peut contenir des virgules, des espaces, etc. Dans les cas où cela peut conduire à une mauvaise interprétation lors du référencement (par exemple, une virgule dans le paramètre d'une clé d'élément), la référence entière peut être mise entre guillemets comme ceci : "@My custom regexp for purpose1, purpose2".
Les noms d'expressions régulières ne doivent pas être entre guillemets dans d'autres emplacements (par exemple, dans les propriétés de règle LLD).
Dans l'onglet Test, l'expression régulière et ses sous-expressions peuvent être testées en fournissant une chaîne de test.
Les résultats affichent l'état de chaque sous-expression et l'état total de l'expression personnalisée.
L'état total de l'expression personnalisée est défini comme Résultat combiné. Si plusieurs sous-expressions sont définies, Zabbix utilise l'opérateur logique ET pour calculer le résultat combiné. Cela signifie que si au moins un résultat est Faux, Résultat combiné a également le statut Faux.
Zabbix est livré avec plusieurs expressions régulières globales dans son jeu de données par défaut.
Nom | Expression | Correspondances |
---|---|---|
File systems for discovery | ^(btrfs\|ext2\|ext3\|ext4\|jfs\|reiser\|xfs\|ffs\|ufs\|jfs\|jfs2\|vxfs\|hfs\|refs\|apfs\|ntfs\|fat32\|zfs)$ |
"btrfs" or "ext2" or "ext3" or "ext4" or "jfs" or "reiser" or "xfs" or "ffs" or "ufs" or "jfs" or "jfs2" or "vxfs" or "hfs" or "refs" or "apfs" or "ntfs" or "fat32" or "zfs" |
Network interfaces for discovery | ^Software Loopback Interface |
Strings starting with "Software Loopback Interface". |
^lo$ |
"lo" | |
^(In)?[Ll]oop[Bb]ack[0-9._]*$ |
Strings that optionally start with "In", then have "L" or "l", then "oop", then "B" or "b", then "ack", which can be optionally followed by any number of digits, dots or underscores. | |
^NULL[0-9.]*$ |
Strings starting with "NULL" optionally followed by any number of digits or dots. | |
^[Ll]o[0-9.]*$ |
Strings starting with "Lo" or "lo" and optionally followed by any number of digits or dots. | |
^[Ss]ystem$ |
"System" or "system" | |
^Nu[0-9.]*$ |
Strings starting with "Nu" optionally followed by any number of digits or dots. | |
Storage devices for SNMP discovery | ^(Physical memory\|Virtual memory\|Memory buffers\|Cached memory\|Swap space)$ |
"Physical memory" or "Virtual memory" or "Memory buffers" or "Cached memory" or "Swap space" |
Windows service names for discovery | ^(MMCSS\|gupdate\|SysmonLog\|clr_optimization_v2.0.50727_32\|clr_optimization_v4.0.30319_32)$ |
"MMCSS" or "gupdate" or "SysmonLog" or strings like "clr_optimization_v2.0.50727_32" and "clr_optimization_v4.0.30319_32" where instead of dots you can put any character except newline. |
Windows service startup states for discovery | ^(automatic\|automatic delayed)$ |
"automatic" or "automatic delayed" |
Utilisation de l'expression suivante dans la découverte de bas niveau pour découvrir des bases de données à l'exception d'une base de données portant un nom spécifique :
Type d'expression choisi : "Le résultat est FAUX". Ne correspond pas au nom, contenant la chaîne "TESTDATABASE".
Utilisation de l'expression régulière suivante incluant un modificateur en ligne (?i) pour faire correspondre les caractères "error":
Type d'expression choisi : "Le résultat est VRAI". Les caractères "error" sont mis en correspondance.
Utilisation de l'expression régulière suivante, y compris plusieurs modificateurs en ligne pour faire correspondre les caractères après une ligne spécifique :
(?<=match (?i)everything(?-i) after this line\n)(?sx).*# nous ajoutons le modificateur s pour autoriser . à faire correspondre les caractères de nouvelle ligne
Type d'expression choisi : "Le résultat est VRAI". Les caractères après une ligne spécifique sont mis en correspondance.
Le modificateur g ne peut pas être spécifié en ligne. La liste des modificateurs disponibles se trouve dans page de manuel pcresyntax. Pour plus d'informations sur la syntaxe PCRE, veuillez consulter la documentation HTML PCRE.
Emplacement | Expression régulière | Expression régulière globale | Correspondance multiligne | Commentaires | |
---|---|---|---|---|---|
Éléments d'agent | |||||
eventlog[] | Oui | Oui | Oui | Paramètres regexp , severity , source , eventid |
|
log[] | Paramètre regexp |
||||
log.count[] | |||||
logrt[] | Oui/Non | Le paramètre regexp prend en charge les deux, le paramètre file_regexp ne prend en charge que les expressions non globales |
|||
logrt.count[] | |||||
proc.cpu.util[] | Non | Non | Paramètre cmdline |
||
proc.mem[] | |||||
proc.num[] | |||||
sensor[] | Paramètres device et sensor sous Linux 2.4 |
||||
system.hw.macaddr[] | Paramètre interface |
||||
system.sw.packages[] | Paramètre package |
||||
vfs.dir.count[] | Paramètres regex_incl , regex_excl , regex_excl_dir |
||||
vfs.dir.size[] | Paramètres regex_incl , regex_excl , regex_excl_dir |
||||
vfs.file.regexp[] | Oui | Paramètre regexp |
|||
vfs.file.regmatch[] | |||||
web.page.regexp[] | |||||
Traps SNMP | |||||
snmptrap[] | Oui | Oui | Non | Paramètre regexp |
|
Prétraitement de la valeur de l'élément | Oui | Non | Non | Paramètre pattern |
|
Fonctions pour déclencheurs/éléments calculés | |||||
count() | Oui | Oui | Oui | Paramètre pattern si le paramètre operator est regexp ou iregexp |
|
countunique() | Oui | Oui | |||
find() | Oui | Oui | |||
logeventid() | Oui | Oui | Non | Paramètre pattern |
|
logsource() | |||||
Découverte de bas niveau | |||||
Filters | Oui | Oui | Non | Champ Expression régulière | |
Overrides | Oui | Non | Dans les options correspond, ne correspond pas pour les conditions d' Opération | ||
Conditions d'action | Oui | Non | Non | Dans les options correspond, ne correspond pas pour Nom d'hôte and Métadonnées de l'hôte des conditions d'enregistrement automatique | |
Surveillance Web | Oui | Non | Oui | Variables avec un préfixe regex: Champ Chaîne requise |
|
Contexte de macro utilisateur | Oui | Non | Non | Dans un contexte macro avec un préfixe regex: | |
Fonctions de macro | |||||
regsub() | Oui | Non | Non | Paramètre pattern |
|
iregsub() | |||||
Mappage d'icônes | Oui | Oui | Non | Champ Expression | |
Mappage de valeur | Oui | Non | Non | Champ Valeur si le type de mappage est regexp |