Использование Zabbix v2.4 на RHEL 6.4
Я хотел бы отслеживать контрольную сумму файла в нескольких системах, где каталог не меняется, но имя файла имеет очень незначительные вариации. В нашем случае имя файла содержит номер сборки для программного обеспечения, и у нас есть несколько сайтов в разных версиях. (Отсюда разница в именах.)
Могу ли я создать единый элемент шаблона, который учитывает эти различные имена файлов, используя встроенную поддержку регулярных выражений?
Примеры имен файлов:
Zabbix имеет встроенную поддержку регулярных выражений, но мне не удалось найти хороший пример ее использования в ключах элементов. В Страница регулярного выражения говорит
В тех случаях, когда это может привести к неправильной интерпретации при ссылке (например, запятая в параметре ключа элемента), вся ссылка может быть заключена в кавычки, как это
что подразумевает, что они могут использоваться в ключах, но, возможно, не так, как я бы хотел их использовать.
Я определил пользовательский RE как "FileName" с соответствующими логическими выражениями, соответствующими именам моих файлов (тесты прошли отлично), и мой ключ выглядит следующим образом:
vfs.file.cksum[/path/to/file/@FileName]
Но когда я просматриваю журналы агента, он говорит, что «проверьте, что 'vfs.file.cksum [/ path / to / file / @ FileName]' не поддерживается» с «нет такого файла или каталога», поэтому это не похоже ключ расширяется / совпадает, что означает, что я, вероятно, неправильно понял, как использовать пользовательские RE в ключах (или они работают только с определенными типами ключей).
В соответствии с документация по предмету, vfs.file.cksum[]
принимает имя файла в качестве первого параметра (в отличие, например, logrt[]
item), поэтому регулярное выражение там работать не будет.
Один из возможных подходов - использовать пользовательский макрос здесь и определите элемент следующим образом:
vfs.file.cksum[/path/to/file/12{$VERSION}4_file.jar]
Затем определите соответствующий {$VERSION}
макрос для каждого хоста.
В качестве альтернативы вы можете использовать низкоуровневое открытие чтобы найти нужные файлы, но это потребует написания UserParameter, чего вы бы предпочли избегать. Между тем, есть запрос функции для встроенного обнаружения файлов на ZBXNEXT-712 за который вы можете проголосовать.