【发布时间】:2020-08-03 20:08:28
【问题描述】:
我正在使用 syslog-ng,远程记录同一镜像的多个容器的应用程序日志。我使用的源配置如下。
source s_wild { wildcard-file(
base-dir("/var/myapp/logs")
filename-pattern("*")
recursive(no)
flags(no-parse)
follow-freq(1)
); };
当我在本地机器中使用日志记录(用于测试目的)时,使用 MACRO,${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 如何映射到远程服务器。从逻辑上讲,这可能是不可能的。还在想办法解决。
我想知道是否可以通过定义多个源和目标或使用 log_prefix 来避免手动 1-1 映射。
【问题讨论】: