Я использую syslog-ng для удаленного протоколирования журналов приложений нескольких контейнеров одного и того же изображения. Я использую исходную конфигурацию, как показано ниже.
source s_wild { wildcard-file(
base-dir("/var/myapp/logs")
filename-pattern("*")
recursive(no)
flags(no-parse)
follow-freq(1)
); };
Когда я использую ведение журнала на локальном компьютере (в целях тестирования), используя МАКРОС, $ {FILE_NAME}, он работает. Но имя файла не передается по сети при тестировании с удаленным сервером.
Aug 3 19:39:46 46fc878e92cf syslog-ng[2320]: Error opening file for writing; filename='', error='Is a directory (21)'
Есть около 20-25 файлов, и я ищу автоматическое сопоставление имен файлов как на стороне клиента, так и на стороне сервера. Является ли это возможным. Не уверен, как wildcard_file сопоставляется с удаленным сервером. Логически это может быть невозможно. Все еще не могу найти решение.
Мне интересно, могу ли я избежать ручного сопоставления 1-1, указав несколько источников и пунктов назначения или используя log_prefix.