18 Регулярные выражения

Сложные регулярные выражения могут быть созданы и протестированы в веб-интерфейсе Zabbix. Перейдите в Администрирование → Общие → Регулярные выражения.

Общий вид

Добавление/редактирование одной группы регулярных выражений

1 Использование регулярных выражений

После того как регулярное выражение создано, его можно использовать везде где поддерживаются регулярные выражения, ссылаясь на его имя с префиксом **@*, например, @mycustomregexp*.

1.1 Пример 1

Проверяем возвращает ли элемент данных правильное значение DNS имени.

Создайте новую группу регулярных выражений и добавьте туда регулярное выражение:

  ^[0-9a-zA-Z_\-]+\.[a-zA-Z]{2,4}$

Это регулярное выражение означает, что строка может начинаться с цифро-буквенных символов с количеством более одного, потом должна идти точка и далее может быть от двух до четырех буквенных символов. ^ - начало строки, $ - конец строки. Установите тип регулярного выражения "Результат TRUE" и отметьте галку регистрозависимый.

Протестируйте добавленное регулярное выражение: Введите zabbix.com в поле "Тестовая строка" и нажмите кнопку "Тест". Если регулярное выражение составлено верно и тестируемая строка соответствует выражению, то результат тестирования будет ИСТИНА, в противном случае ЛОЖЬ.

Сохраним группу регулярных выражений с именем "check_dns".

Теперь, чтобы использовать добавленную группу в выражениях триггеров нужно указать @check_dns. Например:

  ({Template_DNS_Check:dns_check.iregexp(@regexp_check_ip)}=1
        

2 Типы регулярных выражений

Все регулярные выражения в Zabbix, созданные при помощи расширенного редактора, или введенные вручную, поддерживают расширенные регулярные выражения стандарта POSIX.

Обратите внимание, что использование / / в начале и конце регулярного выражения соответственно не допускается!