使用 rsyslog 为每个主机创建单独的 syslog 文件

使用 rsyslog 为每个主机创建单独的 syslog 文件

我有一个 syslog 服务器(在 RHEL 7.4 上运行 rsyslog),它整合了我网络设备的所有 syslog。它正在监听端口 TCP/514。

我想将每台设备的日志重定向到专用目录中的不同文件(基于其 IP 地址),而不是将它们全部放入/var/log/messages。我该怎么做?

答案1

它似乎在 rsyslog 网站上有记录: https://www.rsyslog.com/storing-and-forwarding-remote-messages

总结一下:

您应该为日志文件定义一个模板,例如:

# log every host in its own directory
$template RemoteHost,"/var/syslog/hosts/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/syslog.log"

然后将此模板应用于来自远程主机的消息:

# Remote Logging
$RuleSet remote
*.* ?RemoteHost

相关内容