Perl компатибилни регуларни изрази (PCRE, PCRE2) су подржани у Zabbix-у.
Постоје два начина коришћења регуларних израза у Zabbix-у:
Можете ручно да унесете регуларни израз на подржана места. Напомена да израз можда не почиње са @ јер се тај симбол користи у Zabbix-у за референцирање глобалних регуларних израза.
Могуће је да останете без стека када користите регуларни израз. Погледајте pcrestack man page за више информација.
Имајте на уму да се у вишелинијском поклапању ознаке ^
и $
одговарају почетку/крају сваког реда респективно, уместо почетка/краја целог низа.
Погледајте такође примере за correct escaping у различитим контекстима.
Постоји напредни уређивач за прављење и тестирање сложених регуларних израза у Zabbix корисничком интерфејсу.
Једном када је регуларни израз креиран на овај начин, може се користити на неколико места у корисничком интерфејсу позивајући се на његово име, са префиксом са @, на пример, @mycustomregexp.
Да бисте направили глобални регуларни израз:
Картица Изрази омогућава подешавање назива регуларног израза и додати подизразе.
Сва обавезна поља за унос су означена црвеном звездицом.
Parameter | Description | |
---|---|---|
Назив | Подесите име регуларног израза. Сви Unicode карактери су дозвољени. | |
Изрази | Кликните на Додај у блоку Изрази да додате нови подизраз. | |
Тип израза | Изаберите тип израза: Укључен низ карактера - подударање са поднизом Било који низ карактера укључен - подударање са било којим поднизом са ограничене листе. Разграничена листа садржи зарез (,), тачку (.) или косу црту (/). Низ карактера није укључен - подударање са било којим стрингом осим подниза Резултат је TRUE - подударање са регуларним изразом Резултат је FALSE - не подудара се са регуларним изразом |
|
Израз | Унесите подниз/регуларни израз. | |
Делимитер | Зарез (,), тачка (.) или коса црта (/) за раздвајање текстуалних низова у регуларном изразу. Овај параметар је активан само када је изабран тип израза "Укључен било који низ карактера". | |
Разликује велика и мала слова | Поље за потврду за одређивање да ли је регуларни израз осетљив на велика слова. |
Коса црта (/) у изразу се третира буквално, а не као делимитер. На овај начин је могуће сачувати изразе који садрже косу црту, без грешака.
Име прилагођеног регуларног израза у Zabbix-у може да садржи зарезе, размаке итд. У оним случајевима када то може довести до погрешног тумачења приликом референцирања (на пример, зарез у параметар кључа ставке) цела референца се може ставити под наводнике као што је ово: "@My custom regexp for purpose1, purpose2".
Називи регуларних израза не смеју да се наводе на другим локацијама (као на пример, у својствима LLD правила).
На картици Тест регуларни израз и његови подизрази могу бити тестирани пружањем тест стринга.
Резултати показују статус сваког подизраза и укупну прилагођеност статус израза.
Укупан статус прилагођеног израза је дефинисан као Комбиновани резултат. Ако је дефинисано неколико подизраза. Zabbix користи логички оператор AND за израчунавање Комбиновани резултат. То значи да ако је бар један Резултат False, Комбиновани резултат такође има статус False.
Zabbix долази са неколико глобалних регуларних израза у подразумеваној вредности скупа података.
Name | Expression | Matches |
---|---|---|
File systems for discovery | ^(btrfs|ext2|ext3|ext4|jfs|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|refs|apfs|ntfs|fat32|zfs)$ |
"btrfs" или "ext2" или "ext3" или "ext4" или "jfs" или "reiser" или "xfs" или "ffs" или "ufs" или "jfs" или "jfs2" или "vxfs" или "hfs" или "refs" или "apfs" или "ntfs" или "fat32" или "zfs" |
Мрежни интерфејси за откривање | ^Software Loopback Interface |
Стрингови који почињу са "Software Loopback Interface". |
^lo$ |
"lo" | |
^(In)?[Ll]oop[Bb]ack[0-9._]*$ |
Стрингови који опционо почињу са "In", затим имају "L" или "l", затим "oop", затим "B" или "b", затим "ack", који опционо може бити праћен било којим бројем цифара, тачака или доњих црта. | |
^NULL[0-9.]*$ |
Стрингови који почињу са "NULL" опционо праћен било којим бројем цифара или тачака. | |
^[Ll]o[0-9.]*$ |
Стрингови који почињу са "Lo" или "lo" и опционо након којих следи било који број цифара или тачака. | |
^[Ss]ystem$ |
"System" или "system" | |
^Nu[0-9.]*$ |
Стрингови који почињу са "Nu" опционо праћен било којим бројем цифара или тачака. | |
Уређаји за складиштење за откривање SNMP-а | ^(Physical memory|Virtual memory|Memory buffers|Cached memory|Swap space)$ |
"Physical memory" или "Virtual memory" или "Memory buffers" или "Cached memory" или "Swap space" |
Називи Windows сервиса за откривање | ^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$ |
"MMCSS" или "gupdate" or "SysmonLog" или стринг као што је "clr_optimization_v2.0.50727_32" и "clr_optimization_v4.0.30319_32" где уместо тачака можете ставити било који карактер осим новог реда. |
Стања покретања Windows сервиса за откривање | ^(automatic|automatic delayed)$ |
"automatic" или "automatic delayed" |
Употреба следећег израза у откривању ниског нивоа за откривање базе података осим базе података са одређеним именом:
Изабран Тип израза: "Резултат је FALSE". Не одговара имену, који садржи стринг "TESTDATABASE".
Коришћење следећег регуларног израза укључујући уграђени модификатор (?i) са поклапањем са карактером "error":
Изабран Тип израза: "Резултат је TRUE". Карактери "error" су успешно поклопљени.
Употреба следећег регуларног израза укључујући више уграђених модификатора који одговарају карактерима после одређене линије:
(?<=match (?i)everything(?-i) after this line\n)(?sx).*# додајемо модификатор s да бисмо дозволили да. одговарају карактерима новог реда
Изабрани тип израза: "Резултат је TRUE". Карактери после одређене линије се подударају.
g модификатор се не може навести унутар реда. Листа доступних модификатора може се наћи у pcresyntax man page. За више информација о PCRE синтакси погледајте PCRE HTML документацију.
Location | Regular expression | Global regular expression | Multiline matching | Comments | |
---|---|---|---|---|---|
Ставке агента | |||||
eventlog[] | Yes | Yes | Yes | regexp , severity , source , eventid параметри |
|
eventlog.count[] | regexp , severity , source , eventid параметри |
||||
log[] | regexp параметар |
||||
log.count[] | |||||
logrt[] | Yes/No | regexp параметар подржава оба, параметар file_regexp подржава само неглобалне изразе |
|||
logrt.count[] | |||||
proc.cpu.util[] | No | No | cmdline параметар |
||
proc.get[] | |||||
proc.mem[] | |||||
proc.num[] | |||||
sensor[] | device и sensor параметри на Linux-у 2.4 |
||||
system.hw.macaddr[] | interface параметар |
||||
system.sw.packages[] | regexp параметар |
||||
system.sw.packages.get[] | regexp параметар |
||||
vfs.dir.count[] | regex_incl , regex_excl , regex_excl_dir параметри |
||||
vfs.dir.get[] | regex_incl , regex_excl , regex_excl_dir параметри |
||||
vfs.dir.size[] | regex_incl , regex_excl , regex_excl_dir параметри |
||||
vfs.file.regexp[] | Yes | regexp параметар |
|||
vfs.file.regmatch[] | |||||
web.page.regexp[] | |||||
SNMP замке | |||||
snmptrap[] | Yes | Yes | No | regexp параметар |
|
Предобрада вредности ставке | Yes | No | No | pattern параметар |
|
Функције за окидадче/израчунате ставке | |||||
count() | Yes | Yes | Yes | pattern ако је параметар operator regexp или * iregexp* |
|
countunique() | Yes | Yes | |||
find() | Yes | Yes | |||
logeventid() | Yes | Yes | No | pattern параметар |
|
logsource() | |||||
Откривање ниског нивоа | |||||
Филтери | Yes | Yes | No | Поље регуларног израза | |
Замене | Yes | No | У опцијама подударности, не одговара за услове Операције | ||
Услови акције | Yes | No | No | У подударности, не подудара се опцијама за Име домаћина и Метаподатке домаћина условима ауторегистрације | |
Скрипте | Yes | Yes | No | Правило за потврду уноса поље | |
Веб надгледање | Yes | No | Yes | Променљиве са префиксом regex: Обавезан стринг поље |
|
Контекст корисничког макроа | Yes | No | No | У контексту макроа са префиксом regex: | |
Макро функције | |||||
regsub() | Yes | No | No | pattern параметар |
|
iregsub() | |||||
Мапирање иконица | Yes | Yes | No | Поље израза | |
Мапирање вредности | Yes | No | No | Вредност поље ако је тип мапирања regexp |