我正在使用logstash将我的应用程序日志输出存储到弹性搜索中。
最初我想到了一个架构,其中应用服务器1和2将日志发送到集中式日志,我们将解析输入并将其发送到弹性搜索。
但是,许多应用程序正在使用集中式logstash服务器。我们不希望它用日志来破坏它。
因此,我正在寻找一些实用程序或程序,它可以解析应用程序服务器本身的输入并将其发送到集中式logstash,这将进一步转向弹性搜索。
我不确定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
}
是否可以像这样实现,或者是否有其他简单的方法来做同样的事情。
答案 0 :(得分:0)
可以使用这种架构。
但是使用logstash在应用程序服务器上进行解析的问题是Logstash会占用大量资源,尤其是在使用grok解析时,这会影响您的应用程序。由于必须解析长消息,Logstash有时会占用高达99%的CPU时间 您最好在应用程序服务器上使用简单的发货人(如beaver或filebeat)并在专用服务器上安装Logstash。