我有一个将要运行的 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