配置 rsyslog 客户端以将不同的日志文件名发送到 syslog-ng 服务器

配置 rsyslog 客户端以将不同的日志文件名发送到 syslog-ng 服务器

我有多台配置了 rsyslog 的服务器,用于将日志写入远程 syslog-ng 服务器,配置如下:

# Log anything of level info or higher.
# Don't log private authentication messages!
*.info;authpriv.none                                    @<IP-SERVER>

# The authpriv file has restricted access.
authpriv.*                                              @<IP-SERVER>

并且 syslog-ng 服务器配置如下:

destination d_remote {
    file ("/var/LOG/$HOST-$YEAR$MONTH$DAY");
};

但是通过这种配置,客户端会将两个日志写入同一个文件。

是否可以配置客户端(我无法修改 syslog-ng 服务器)将日志分成不同的文件?

答案1

为此,您必须修改 syslog-ng 服务器的配置(基本上,您需要一个将不同类型的日志分离到单独文件中的过滤器)。

客户端的一个丑陋的黑客可能是将此信息编码到日志消息的 HOST 字段中(以便服务器将它们视为来自不同的主机),但我不知道在 rsyslog 中是否可以实现。

相关内容