rsyslog.conf 文件中的错误,如何记录多个设备?

rsyslog.conf 文件中的错误,如何记录多个设备?

我正在尝试记录我的 dd-wrt ​​路由器和我的 nas4free 设备。所有日志都发送到备用的 raspberrypi,并连接一个 usb 磁盘来存储日志文件。但我的 rsyslog.conf 文件有问题。已添加以下代码以将设备中的日志发送到插入 raspberrypi 的 usb 棒:

# logs for the wifi router are saved here:
$template ddwrtlogs,"/mnt/syslog/192.168.1.1.log"
*.* ?ddwrtlogs
#
# logs for the nas4free are saved here:
$template nas4freelogs,"/mnt/syslog/192.168.1.200.log"
*.* ?nas4freelogs

这适用于 192.168.1.1 设备,但在 192.168.1.200.log 文件中,我发现与 192.168.1.1.log 中的日志相同的日志。它只是将它们复制到两个位置。我的 nas4free 没有日志。

我更新了两个记录设备,将所有日志发送到 192.168.1.220(= raspberrypi)

事实上,我不知道如何让它记录两个设备。代码是错误的。我可以让它为一个设备工作,但如果我在 /etc/rsyslog.conf 中添加第二个设备,它就不起作用了。

提前感谢您的解决方案。

答案1

我是这样做的:

首先更改/etc/rsyslog.conf文件。这是一个很长的配置文件,但你只需要更改以下几行:

# provides UDP syslog reception $ModLoad imudp $UDPServerRun 514

# provides TCP syslog reception $ModLoad imtcp $InputTCPServerRun 514

然后转到/etc/rsyslog.d/并创建以你期望从中输入的设备命名的文件。这些是我的例子:

touch 10-ddwrt.conf
touch 20-nas4free.conf

这是每个文件的配置:

$template ddwrt, "/path/to/your/logfile/ddwrt.log" :fromhost-ip, isequal, "192.168.1.1" -?ddwrt & stop

$template nas4free, "/path/to/your/logfile/nas4free.log" :fromhost-ip, isequal, "192.168.1.200" -?nas4free & stop

最好的部分是,使用此配置,你的本地系统日志可以继续工作并保留在/var/log/

奖励中:我还更改了logrotate配置。日志轮换提供了一种限制保留日志总大小的方法,同时仍允许分析最近的事件。

转到/etc/logrotate.d/并添加你从中接收日志的设备。像这样:

touch ddwrt
touch nas4free

这是两个文件的配置:

/media/pi/USB/Logs/ddwrt.log { weekly rotate 7 size 50M notifempty create compress postrotate invoke-rc.d rsyslog rotate > /dev/null endscript }

/media/pi/USB/Logs/nas4free.log { weekly rotate 7 size 50M notifempty create compress postrotate invoke-rc.d rsyslog rotate > /dev/null endscript }

相关内容