这是最简单的转发操作:

这是最简单的转发操作:

我正在调试日志记录 SaaS 解决方案的一个奇怪问题。我们似乎正在复制发送到 SaaS 的日志。日志通过 rsyslog 转发器通过 TLS 发送。我正在尝试查看是否可以通过运行远程 rsyslog 服务器并将实例的日志转发到该服务器进行监控来重现该问题。我们将日志来源服务器称为guineapig远程 rsyslog 服务器watcher

watcher使用如下配置配置为侦听 UDP 端口 514:

$ModLoad imudp.so
$UDPServerRun 514

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# log everything to the /var/log/remotesyslog file
*.*    /var/log/remotesyslog 

guineapig配置为watcher使用其 IP 地址转发所有内容:

$ModLoad imuxsock
$ModLoad imjournal

$ModLoad imudp.so
$UDPServerRun 514

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$IMJournalStateFile imjournal.state

authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 *
uucp,news.crit                                          /var/log/spooler
local7.*      

                                      /var/log/boot.log

里面:/etc/rsyslog.d/22-remote-rsyslog.confguineapig

# forward everything over UDP to watcher
*.* @@10.0.1.1:514

不幸的是,当我重新启动 SystemD rsyslog 服务并尝试触发 上的日志消息时guineapig,我没有看到它出现在 上的文件中watcher

user@guineapig ~$ logger "please work"
# doesn't work

但是,如果我直接告诉logger去哪里,日志行会显示:

user@guineapig ~$ logger -n 10.0.1.1 "please work for real"
# works

我在浏览 rsyslog 的文档时遇到了非常困难的时间,但由于某种原因,我的日志没有正确转发到watcher.

我的配置有明显的问题吗guineapig?两个系统都运行在 CentOS 7 上。

答案1

如前所述这里它似乎rsyslog使用与 TCP 不同的语法来通过 UDP 转发。

对于 TCP 转发:

*.* @@10.0.1.1:514

对于UDP转发:

*.* @10.0.1.1:514

该更改修复了我的日志记录设置。

答案2

*.* action(type="omfwd" target="10.0.1.1:514" port="514" protocol="tcp")

来自文档:

这是最简单的转发操作:

*.* 动作(类型=“omfwd” 目标=“192.0.2.1” 端口=“10514” 协议=“tcp”)

它相当于以下过时的旧格式行:

*.* @@192.0.2.1:10514 # 不要再使用这个!

相关内容