我有一个 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