2017-07-25 51 views
0

我试图建立最好的架构,我们的弹性栈的实现。多Logstash情况VS Filebeats

我们有两个不同的网络(可以称他们为内部和外部)和这些网络的几个网络/数据库/应用服务器(大约10)。

我想在两个网络中使用IIS日志,我们的rabbitMQ消息以及其他一些位和bob,并将它们发送到位于我的弹性和kibana安装位置的内部网络上的单个服务器。

有关内部和外部网络上,我可以看到两种主要的方式来获取发送到弹性日志服务器。

  1. 在每台服务器上安装logstash,并将输出发送到内部网络上的弹性服务器。每个服务器上
  2. 设置filebeats和日志发送到一台服务器上运行logstash(这可能是承载弹性相同的方块和kibana)

我不确定这些方法的利弊此时此刻。我相信正确的方法是使用Filebeats,但我不知道为什么我不会将logstash放在多个位置,因为看起来好像我会更好地分发日志处理。 然后,也许有一个20-30输入logstash是不是一个问题?

有兴趣在这方面的任何想法或指导。

回答

1

从我的文档中读取,Logstash是在很多的内存比Filebeat项要求更高,特别是如果你做一些治疗上的日志(如神交解析)。 Logstash至少代表一个JVM(使用JRuby)。对于filebeat,我认为它的占用空间要小得多,因为它针对发货日志进行了优化(我从未使用它,所以我不能说)。

此外,它会使您想要对Logstash实例或其配置进行的任何更新变得复杂。

对于集中的Logstash,其优点是可以轻松地更改Elasticsearch实例的地址,重定向到缓存(如redis)或添加其他输出。我还发现需要频繁重新启动的Logstash(在版本2+中),所以如果只有一个实例需要处理,这会更容易。

我从来没有使用Logstash多输入,所以我不能说。


在我负责日志集中化系统的工作,我们使用的海狸(一filebeat当量)的日志运送到一个Redis的服务器,我们有两个或三个Logstash服务器发送一切Elasticsearch。以上所有评论均来自该时期。

+0

伟大的信息,我认为集中的logstash配置管理对我来说是一个卖点。所以听到多个logstash重启,但稍微令人失望,但也许我们不会遇到这种情况! – dougajmcdonald

+0

@dougajmcdonald对于重新启动,它使用的是旧版本(2. +),而不是当前可用的版本(5.5)。我认为部署它们的服务器对于工作负载来说不够强大(特别是对于我们应用于某些日志的配置)。所以是的,你可能不会有同样的问题。 – baudsp