将 rsyslog 消息发送到远程文件系统

将 rsyslog 消息发送到远程文件系统

我有一个将要运行的 Ubuntu 服务器rsyslog,许多“客户端”设备和应用程序向其发送日志(通过各种 syslog 客户端)。

我知道rsyslog记录一切/var/log,但理想情况下我可以““将这些日志记录到另一台机器上的文件中。有效地使服务器rsyslog成为客户端发送日志消息的集中位置,但允许我将日志发送到网络驱动器或具有更大存储容量的机器。

这可能吗?我知道rsyslog有很多模块可以插入,但我没有看到任何允许您覆盖/var/log远程文件位置的模块。有什么想法吗?

答案1

为此,您可以设置rsyslog 服务器rsyslog 客户。 服务器

$ModLoad imudp
$UDPServerRun 514

要使用 TCP 连接(速度较慢但更可靠),请搜索并取消注释以下行。

$ModLoad imtcp
$InputTCPServerRun 514

设置远程日志的模板:

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs 
& ~

重新启动系统日志。

对于客户:

*. *  @192.168.10.254:514

配置发送日志的位置。

并且不要忘记重新启动rsyslog

相关内容