我已经设置了一个带有 rsyslog 的 centos7 盒子,并将日志从多个设备发送到它。我想做的是首先将日志以自定义文件/格式存储在本地,并带有日期、from-ip。我使用以下配置来工作:
$template DynFile,"/var/log/hosts/%$YEAR%\-%$MONTH%\-%$DAY%/%fromhost-ip%.log"
$RuleSet remote
*.\* -?DynFile
$RuleSet RSYSLOG_DefaultRuleset
$ModLoad imudp
$InputUDPServerBindRuleset remote
$UDPServerRun 514
我现在想做的是将这些日志发送到另一个远程 rsyslog 服务器。
在 rsyslog.conf 中我将其添加到转发规则中
*.* @@xxxx:514
日志正在本地记录(到动态文件),但没有任何内容被发送到转发规则中定义的远程 rsyslog 服务器。
任何帮助都将受到赞赏。
谢谢。
答案1
搞清楚了。我必须在告诉 rsyslog 写入 DynFile 后直接定义远程主机。所以我的新配置文件如下所示:
/etc/rsyslog.d/00-local-and-remote.conf
$模板DynFile,“/var/log/hosts/%$YEAR%-%$MONTH%-%$DAY%/%fromhost-ip%.log”
$RuleSet 远程
*.* -?Dyn文件
*.* @@xxxx:514
$规则集 RSYSLOG_DefaultRuleset
$ModLoad imudp
$InputUDPServerBindRuleset 远程
$UDP服务器运行 514