将日志发送到同一台机器上的rsyslog和logstash,但避免重复发送数据

我有一种情况,我想要在同一台计算机(两个不同的服务)上的两个不同端口上接收UDP通信,并希望避免重复发送数据。

所以,这是这个想法:

(rsyslog客户端)—-(networking)—>(10540 rsyslog和11540 logstash)

rsyslog和logstash在同一台机器上。

我需要在这两个服务之前能够为他们提供相同数据的服务。 理想情况下,这将位于提到的服务相同的机器上。 像L4平衡器,可以发送所有数据到多个目的地或某种端口镜像机制。 或其他任何可以达到目的的东西。

原因是我正在收集linux审计日志,并希望将其中的一些保存到Graylog(使用logstash)等文件系统。 我试图用logstash做到这一点,但它与磁盘上存储的日志格式混淆,它们对于aureport,ausearch和ausummary工具是不可读的。

还没有find一种方法来修复这些工具可以读取的格式whitin logstash。

我正在使用CentOS7。 我无法访问networking设备。

感谢您的build议。

使用rsyslog,您可以使用omfwd模块将日志发送到logstash。 添加这样的东西到你的rsyslog服务器(不是客户端):

action(type="omfwd" Target="127.0.0.1" Port="11540" Protocol="udp")