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

ede*_*881 4 configuration logging syslog rsyslog

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

我想将每个设备的日志重定向到专用目录中的不同文件(基于它们的 IP 地址),而不是将它们全部放入/var/log/messages. 我怎样才能做到这一点?

kri*_*sFR 8

它似乎记录在 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"
Run Code Online (Sandbox Code Playgroud)

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

# Remote Logging
$RuleSet remote
*.* ?RemoteHost
Run Code Online (Sandbox Code Playgroud)