У нас есть файлы журналов с именами, которые соответствуют определенному шаблону, но часто меняются. Есть ли способ указать подстановочный знак или шаблон для включения rsyslog через InputFileName?
Пример:
InputFileName: /path/to/logs/*_error.log
Использование приведенного выше примера приводит к:
9351.070404487: 7fd07e9be700: strm 0x7fd070004260: ошибка открытия 2, файл '/path/to/logs/*_error.log': такого файла или каталога нет
Есть ли способ указать шаблон файлов для включения rsyslog, чтобы все файлы журнала, соответствующие шаблону, были включены?
В качестве обновления этого сообщения rsyslog 8.5 (в настоящее время разрабатывается, но скоро станет стабильным) поддерживает подстановочные знаки, я протестировал это и могу подтвердить, что он работает.
Я уже проводил некоторое исследование по этому поводу в прошлом. В последний раз, когда я проверял, модуль imfile вообще не поддерживает подстановочные знаки. Подумал о том, чтобы написать еще один модуль ввода, но в итоге просто использовал syslog-ng на хостах, на которых мне нужна эта функция.
В более новых версиях rsyslog это исправлено, см. Вотв разделе «Подстановочные знаки». В нем упоминается, что начиная с версии 8.25 подстановочные знаки уже поддерживаются только в именах файлов, а с версии 8.25 и на нем также поддерживаются подстановочные знаки в путях (хотя это не тестировалось).
Однако (см. Также этот) подстановочные знаки не поддерживаются в режиме опроса.
Вот некоторые подробности о том, что требуется:
http://www.slideshare.net/rainergerhards1/using-wildcards-with-rsyslogs-file-monitor-imfile
2 декабря 2014 года версия станет стабильной 8.6.0.