繁体   English   中英

要从应用服务器运送日志,该使用哪个服务器使用Logstash转发器,FLume或Fluentd?

[英]For shipping logs from app server, which to use Logstash forwarder, FLume or Fluentd?

  1. Logstash转发器很轻巧,但是从Logstash转发器到Logstash,网络上存在延迟。 [如果我在一台计算机上使用Logstash转发器并将日志发送到另一台计算机上的Logstash,则为[

  2. Flume / Flume-ng:相同数据量(例如2 MB,大约20%)的CPU使用率很高

  3. Fluentd:不使用基于CRuby的Java,但在高峰时期的CPU使用率也达到了30%。

根据我们的用例,我们不想在生产盒上增加大量的负载来转发日志,如果我使用logstash,我将引入新的单点故障,因此我很困惑地在其中选择一个。

有趣的效果统计。

根据我的经验,logstash-forwarder的重量很轻,并且加密/压缩非常有帮助。 这确实可能导致一些延迟。 这对您来说是重要因素吗? 我想延迟小于2-3秒。 我认为在许多日志管理用例中,对实时性的要求不高。

最终,所有这些代理都需要从应用程序/文件中收集数据,打包并通过网络发送。 这需要一些周期,但是在大多数情况下,这些周期是普通服务器将拥有的资源的2%-4%。

看一下rsyslog,它有很多配置,可以记录日志的频率。 您可以在docker中运行它,并更严格地限制rsyslog或任何其他代理( https://hub.docker.com/r/logzio/logzio-rsyslog-shipper/ )上的资源

另一种选择是通过编写自己的代码直接从您的应用服务器通过批量HTTP发布发布日志。 这是像ELK这样的大多数开放源代码都可以摄取的东西,我们建议在http://logz.io上使用它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM