logstash作为代理进行解析并发送到集中式logstash服务器

时间:2016-08-25 07:56:02

标签: elasticsearch logstash

我正在使用logstash将我的应用程序日志输出存储到弹性搜索中。

最初我想到了一个架构,其中应用服务器1和2将日志发送到集中式日志,我们将解析输入并将其发送到弹性搜索。

但是,许多应用程序正在使用集中式logstash服务器。我们不希望它用日志来破坏它。

Centralized Logstash Parsing

因此,我正在寻找一些实用程序或程序,它可以解析应用程序服务器本身的输入并将其发送到集中式logstash,这将进一步转向弹性搜索。

我不确定Logstash是否适用于某种代理。我想到的架构如下所示。

Each application has logstash

而不是将日志传送到集中式服务器并解析它。是否可以在应用程序服务器本身中运行logstash,它将解析日志并将其发送到集中式logstash。

仅用于示例conf文件。

在应用程序服务器

input{
file{
path => "/tmp/test.log"
start_position => "beginning"
}
}
filter{
parsing logic here with grok
}
output{
Centralized logstash IP
}

在Centralized logstash节点

input{
application server IP
}

output{
elastic search IP
}

是否可以像这样实现,或者是否有其他简单的方法来做同样的事情。

1 个答案:

答案 0 :(得分:0)

可以使用这种架构。

但是使用logstash在应用程序服务器上进行解析的问题是Logstash会占用大量资源,尤其是在使用grok解析时,这会影响您的应用程序。由于必须解析长消息,Logstash有时会占用高达99%的CPU时间 您最好在应用程序服务器上使用简单的发货人(如beaver或filebeat)并在专用服务器上安装Logstash。