如何使用rsyslog?

我已经在论坛上搜索了几个小时,但是找不到一个关于如何使用rsyslog的具体解释。我只是需要基本的操作方法。
我有一个日志文件logFile.log,并且我想将日志转发到server2的514端口。我应该如何设置rsyslog来实现这个功能?如果需要,我可以提供额外的信息。
1个回答

嗯,我看到有几个人在查看这个问题,我找到了解决方法。所以我会写一个小型的rsyslog入门指南。
如果你只想将syslog数据转发到远程服务器:
将以下内容添加到/etc/rsyslog.d/50-default.conf文件的底部(根据协议):
UDP: *.* @remoteserverIP:PORT #通常端口为514 TCP: *.* @@remoteserverIP:PORT #通常端口为514
将以下内容添加到您在/etc/rsyslog.d/目录下创建的.conf文件中。
$ModLoad imfile
$InputFileName /var/log/test   #change this to desired input
$InputFileTag test             #change filetag
$InputFileStateFile stat-test  
$InputFileSeverity info        #log severity
InputRunFileMonitor           
*.* @remoteserverIP:PORT       #change to remote server

重新启动 rsyslog
sudo service rsyslog restart
然后在远程(日志记录)服务器上,您需要编辑/etc/rsyslog.conf文件以侦听流量。文件的顶部将有以下几个部分:
# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

取消注释适当协议的部分。
在文件末尾,您可能希望包含某种过滤模板,以便根据日志来源将其解析到相应的文件中。这里是一个示例:
$template FILENAME,"/var/log/%fromhost-ip%/access.log
*.* ?FILENAME

保存文件并重新启动此机器上的服务。
希望这对大家都有效!