rsyslog:如何将所有远程机器的消息发送到一个文件?

rsyslog:如何将所有远程机器的消息发送到一个文件?

我们有一个系统日志服务器,所有服务器都将其记录到该服务器中。

我们希望针对所有尚未配置规则的远程消息制定一种“包罗万象”的滴灌规则。

有人知道如何做到这一点吗?

答案1

这就是我如何配置它rsyslog.conf

# Log remote hosts to separate log file
$template PerHostLog,"/var/log/remote-hosts/%HOSTNAME%.log"
$template RemoteHostFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogfacility-text% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::space-cc,drop-last-lf%\n"
:inputname, isequal, "imudp" ?PerHostLog;RemoteHostFileFormat
& ~

这将捕获通过 UDP ( imudp) 接收的所有日志消息并将其放入一个文件中,该文件的文件名与日志消息来源的主机名相对应。

答案2

我找到了非常好的“如何做”来帮助你有一个良好的开端......

如何在 Linux 上设置 Rsyslog 远程日志(中央日志服务器)

相关内容