使用rsyslog和ELK进行特定日志记录

时间:2016-04-12 15:23:49

标签: rsyslog logstash-configuration

我在同一台服务器上运行了rsyslog服务器和ELK堆栈。

我们的应用程序是将日志转发到rsyslog并将其转发到localhost。

我们现在想要分割我们的日志记录(前端和后端日志记录)。

我们的前端开发人员添加了一个标签[frontend],该标签将添加到邮件中。 是否可以在rsyslog中过滤掉这个并将其转发到另一个logstash,同时保持后端日志记录?

我现在在我的配置中有这个,但它会继续将所有消息转发到该logstash:

*.* @@localhost:5555
:msg, contains, "\[frontend\]" stop

*.* @@localhost:5544
:programname, contains, "backend" ~

我们正在通过后端发送前端日志,因此我们收到的每条消息都会显示程序名称“后端”

1 个答案:

答案 0 :(得分:0)

进行了更多研究并找到了可行的解决方案:

*.*     {
        :msg, contains, "\[frontend\]"
        @@localhost:5555
        }

*.*     {:programname, contains, "backend"
        @@localhost:5544
        stop
        }