Les expressions régulières compatibles Perl (PCRE) sont supportées dans Zabbix.
Il y a deux façons d'utiliser des expressions régulières dans Zabbix :
Vous pouvez entrer manuellement une expression régulière aux endroits supportés. 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.
::: notewarning Il est possible de manquer de pile (out of stack) en utilisant des expressions régulières. Reportez-vous à la page de manuel de pcrestack] pour plus d'informations. :::
Notez que dans une correspondance multiligne, les ancres ^
et $
correspondent au début/à la fin de chaque ligne, respectivement, au lieu du début/de la fin de la chaîne entière.
Il existe un éditeur avancé pour la création et le test d’expressions régulières complexes dans l'interface web de Zabbix.
Une fois qu'une expression régulière a été créée de cette manière, elle peut être utilisée à plusieurs endroits dans l'interface en se référant à son nom, précédé de @, 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 inclue - correspond à la sous chaîne Toute chaîne de caractère inclue - correspond à n'importe quelle sous-chaîne 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 inclue - 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 | Entrez 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 est actif uniquement lorsque le type d'expression "Toute chaîne de caractères inclue" est sélectionné. | |
Sensible à la casse | Une case à cocher pour spécifier si une expression régulière est sensible à la casse. |
Depuis Zabbix 2.4.0, une barre oblique (/) dans l'expression est traitée littéralement, plutôt que comme délimiteur. De cette façon, il est possible de sauvegarder des expressions contenant une barre oblique, alors que cela produisait auparavant une 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 interprétation erronée 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 placée entre guillemets : "@My custom regexp for purpose1, purpose2".
Les noms des expressions régulières ne doivent pas être entre guillemets ailleurs (par exemple, dans les propriétés de la règle LLD).
Utilisation de l'expression régulière suivante dans la LLD pour découvrir des bases de données ne prenant pas en compte une base de données portant un nom spécifique :
Type d'expression choisie : "Le résultat est FAUX". Ne correspond pas au nom, contenant la chaîne “TESTDATABASE”.
Utilisation de l'expression régulière suivante, y compris un modificateur en ligne (?i) pour faire correspondre les caractères "error" :
Type d'expression choisie : "Le résultat est VRAI". Les caractères "error" correspondent.
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).*# we add s modifier to allow . match newline characters
Type d'expression choisie : "Le résultat est VRAI". Les caractères après une ligne spécifique correspondent.
Le modificateur g ne peut pas être spécifié dans la ligne. La liste des modificateurs disponibles se trouve dans la page du manuel pcresyntax. Pour plus d'informations sur la syntaxe PCRE, reportez-vous à la documentation HTML de PCRE.
Une expression régulière personnalisée peut comprendre plusieurs sous-expressions et peut être testée dans l'onglet Test en fournissant une chaîne de test.
Les résultats montrent le statut de chaque sous-expression et le statut total de l'expression personnalisée.
Le statut total de l'expression personnalisée est défini en tant que 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, le Résultat combiné a également le statut faux.
Regexp Globale | Expression | Description |
---|---|---|
Système de fichiers pour la découverte | ^(btrfs\|ext2\|ext3\|ext4\|jfs\|reiser\|xfs\|ffs\|ufs\|jfs\|jfs2\|vxfs\|hfs\|refs\|apfs\|ntfs\|fat32\|zfs)$ |
Correspond à "btrfs" ou "ext2" ou "ext3" ou "ext4" ou "jfs" ou "reiser" ou " xfs" ou "ffs" ou "ufs" ou "jfs" ou "jfs2" ou "vxfs" ou "hfs" ou "refs" ou "apfs" ou "ntfs" ou "fat32" ou "zfs" |
Interfaces réseau pour la découverte | ^Software Loopback Interface |
Correspond aux chaînes commençant par "Software Loopback Interface" |
^lo$ |
Correspond à "lo" | |
^(In)?[Ll]oop[Bb]ack[0-9._]*$ |
Correspond aux chaînes qui commencent éventuellement par "In", puis ont "L" ou "l", puis "oop", puis "B" ou "b", puis "ack", qui peut éventuellement être suivi d'un nombre quelconque de chiffres, points ou underscores | |
^NULL[0-9.]*$ |
Correspond aux chaînes avec "NULL" éventuellement suivies d'un nombre quelconque de chiffres ou de points | |
^[Ll]o[0-9.]*$ |
Correspond aux chaînes commençant par "Lo" ou "lo" et éventuellement suivies d'un nombre quelconque de chiffres ou de points | |
^[Ss]ystem$ |
Correspond à "System" ou "system" | |
^Nu[0-9.]*$ |
Correspond aux chaînes avec "Nu" éventuellement suivies d'un nombre quelconque de chiffres ou de points | |
Périphériques de stockage pour la découverte SNMP | ^(Physical memory\|Virtual memory\|Memory buffers\|Cached memory\|Swap space)$ |
Correspond à "Physical memory" ou "Virtual memory" ou "Memory buffers" ou "Cached memory" ou "Swap space" |
Noms de services Windows pour la découverte | ^(MMCSS\|gupdate\|SysmonLog\|clr_optimization_v2.0.50727_32\|clr_optimization_v4.0.30319_32)$ |
Correspond à "MMCSS" ou "gupdate" ou "SysmonLog" ou des chaînes comme "clr_optimization_v2.0.50727_32" et "clr_optimization_v4.0.30319_32" où au lieu de points, vous pouvez insérer un caractère sauf newline |
États de démarrage du service Windows pour la découverte | ^(automatic\|automatic delayed)$ |
Correspond à "automatic" ou "automatic delayed" |
Emplacement | Expression régulière | Expression régulière globale | Commentaires | |
---|---|---|---|---|
Élément d'agent | ||||
eventlog[] | Oui | Oui | paramètres regexp , severity , source , eventid |
|
log[] | paramètre regexp |
|||
log.count[] | ||||
logrt[] | Oui/Non | paramètre regexp supporte les deux, paramètre file_regexp supporte uniquement les expressions non-globales |
||
logrt.count[] | ||||
proc.cpu.util[] | Non | paramètre cmdline |
||
proc.mem[] | ||||
proc.num[] | ||||
sensor[] | paramètres device et sensor sur Linux 2.4 |
|||
system.hw.macaddr[] | paramètre interface |
|||
system.sw.packages[] | paramètre package |
|||
vfs.dir.count[] | paramètres regex_incl et regex_excl |
|||
vfs.dir.size[] | paramètres regex_incl et regex_excl |
|||
vfs.file.regexp[] | paramètre regexp |
|||
vfs.file.regmatch[] | ||||
web.page.regexp[] | ||||
Traps SNMP | ||||
snmptrap[] | Oui | Oui | paramètre regexp |
|
Pré-traitement de la valeur d'un élément | Oui | Non | paramètre pattern |
|
Fonction déclencheur | ||||
count() | Oui | Oui | paramètre pattern si paramètre operator est regexp ou iregexp |
|
logeventid() | paramètre pattern |
|||
logsource() | ||||
iregexp() | ||||
regexp() | ||||
Découverte de bas niveau | Oui | Oui | champs Filtre | |
Supervision Web | Oui | Non | Variables avec un préfix regex: champs Chaîne requise |
|
Fonctions de macro | ||||
regsub() | Oui | Non | paramètre pattern |
|
iregsub() | ||||
Correspondance d'icônes | Oui | Oui | champs Expression |