Perl компатибилни регуларни изрази (PCRE, PCRE2) су подржани у Zabbix-у.
Постоје два начина коришћења регуларних израза у Zabbix-у:
Можете ручно да унесете регуларни израз на подржана места. Напомена да израз можда не почиње са @ јер се тај симбол користи у Zabbix-у за референцирање глобалних регуларних израза.
Могуће је да останете без стека када користите регуларни израз. Погледајте pcrestack man page за више информација.
Имајте на уму да се у вишелинијском поклапању ознаке ^
и $
одговарају почетку/крају сваког реда респективно, уместо почетка/краја целог низа.
Погледајте такође примере за correct escaping у различитим контекстима.
Постоји напредни едитор за креирање и тестирање сложених регуларних израза у Zabbix корисничком интерфјесу.
Када се регуларни израз креира на овај начин, може се користити на неколико места у фронтенду позивањем на његово име, са префиксом @, на пример, @mycustomregexp.
Да бисте креирали глобални регуларни израз:
Картица Изрази омогућава подешавање имена регуларног израза и додавање подизраза.
Сва обавезна поља за унос су означена црвеном звездицом.
Parameter | Description | |
---|---|---|
Име | Поставите име регуларног израза. Дозвољени су било који Unicode знакови. | |
Изрази | Кликните на Додај у блоку Изрази да бисте додали нови подизраз. | |
Тип израза | Изаберите тип израза: Низ знакова укључен - подудара се са поднизом Било који низ знакова укључен - подудара се са било којим поднизом из листе са разграничењима. Листа са разграничењима укључује зарез (,), тачку (.) или косу црту (/). Низ знакова који није укључен - подудара се са било којим низом осим поднизом Резултат је ТАЧНО - подудара се са регуларним изразом Резултат је НЕТАЧНО - не подудара се са регуларним изразом |
|
Израз | Унесите подниз/регуларни израз. | |
Разграничник | Зарез (,), тачка (.) или коса црта (/) за одвајање текстуалних низова у регуларном изразу. Овај параметар је активан само када је изабран тип израза "Any character string included". | |
Осетљиво на велика и мала слова | Поље за потврду које одређује да ли је регуларни израз осетљив на велика слова. |
Коса црта унапред (/) у изразу се третира дословно, а не као разграничник. На овај начин је могуће сачувати изразе који садрже косу црту, без грешака.
Назив прилагођеног регуларног израза у Zabbix-у може садржај зарезе, размаке итд. У случајевима где то може довести до погрешног тумачења приликом референцирања (на пример, зарез у параметру кључа ставке), цела референца може бити стављена под наводнике овако: "@My custom regexp for purpose1, purpose2".
Називи регуларних израза не смеју бити под наводницима на другим локацијама (на пример, у својствима LLD правила).
На картици Тест регуларни израз и његови подизрази могу се тестирати навођењем тест стринга.
Резултати приказују статус сваког подизраза и укупан статус прилагођеног израза.
Укупан статус прилагођеног израза је дефинисан као Комбиновани резултат. Ако је дефинисано неколико подизраза, Zabbix користи логички оператор И да би израчунао Комбиновани резултат. То значи да ако је барем један резултат Нетачно, Комбиновани резултат такође има статус Нетачно.
Zabbix долази са неколико глобалних регуларних израза у свом подразумеваном скупу података.
Name | Expression | Matches |
---|---|---|
Фајл системи за откривање | ^(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" |
Мрежни интерфејси за откривање | ^Интерфејс за повратну петљу софтвера |
Низови који почињу са "Интерфејс за повратну петљу софтвера". |
^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]system$ |
"Систем" или "систем" | |
^Nu[0-9.]*$ |
Низови који почињу са "Nu" опционо праћени било којим бројем цифара или тачака. | |
Уређаји за складиштење за SNMP откривање | ^(Физичка меморија|Виртуелна меморија|Бафери меморије|Кеширана меморија|Простор за размену)$ |
"Физичка меморија" или "Виртуелна меморија" или "Бафери меморије" или "Кеширана меморија" или "Простор за размену" |
Називи Windows сервиса за откривање | ^(MMCSS|gupdate|SysmonLog|clr_optimization_v2.0.50727_32|clr_optimization_v4.0.30319_32)$ |
"MMCSS" или "gupdate" или "SysmonLog" или стрингови попут "clr_optimization_v2.0.50727_32" и "clr_optimization_v4.0.30319_32" где уместо тачака можете ставити било који знак осим новог реда. |
Стања покретања Windows сервиса за откривање | ^(automatic|automatic delayed)$ |
"automatic" or "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[] | Да | Да | Да | параметри regexp , severity , source , eventid |
||
eventlog.count[] | regexp , severity , source , eventid |
|||||
log[] | regexp параметар |
|||||
log.count[] | ||||||
logrt[] | Да/Не | Параметар regexp подржава оба, параметар file_regexp подржава само неглобалне изразе |
||||
logrt.count[] | ||||||
proc.cpu.util[] | Не | Не | Параметар 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[] | Да | regexp параметар |
||||
vfs.file.regmatch[] | ||||||
web.page.regexp[] | ||||||
SNMP замке | ||||||
snmptrap[] | Да | Да | Не | параметар regexp |
||
Претходна обрада вредности ставке | Да | Не | Не | параметар pattern |
||
Функције за окидаче/израчунате ставке | ||||||
count() | Да | Да | Да | параметар pattern ако је параметар operator regexp или iregexp |
||
countunique() | Да | Да | ||||
find() | Да | Да | ||||
logeventid() | Да | Да | Не | параметар pattern |
||
logsource() | ||||||
Откривање ниског нивоа | ||||||
Филтери | Да | Да | Не | Поље регуларног израза | ||
Замењује | Да | Не | У подударањима, не подудара се са опцијама за услове Операције | |||
Услови акције | Да | Не | Не | У подударањима, не подудара се са опцијама за услове аутоматске регистрације Име домаћина и Метаподаци домаћина | ||
Скрипте | Да | Да | Не | Поље за правило валидације уноса | ||
Веб праћење | Да | Не | Да | Променљиве са префиксом regex: Поље Обавезни стринг |
||
Кориснички макро контекст | Да | Не | Не | У макро контексту са префиксом regex: | ||
Макро функције | ||||||
regsub() | Да | Не | Не | параметар pattern |
||
iregsub() | ||||||
Мапирање икона | Да | Да | Не | Поље Израз | ||
Мапирање вредности | Да | Не | Не | Поље Вредност ако је тип мапирања regexp |