【问题标题】:For shipping logs from app server, which to use Logstash forwarder, FLume or Fluentd?对于从应用服务器发送日志,使用 Logstash 转发器、FLume 还是 Fluentd?
【发布时间】:2015-09-10 09:50:09
【问题描述】:
  1. Logstash 转发器很轻,但从 logstash 转发器到 logstash ,网络存在延迟。 [如果我在一台机器上使用 Logstash 转发器并将日志发送到另一台机器上的 Logstash]

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

  3. Fluentd :不使用 java,它基于 CRuby ,但它的 CPU 利用率在高峰时间也是 30%,.

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

【问题讨论】:

    标签: apache logging flume-ng fluentd logstash-forwarder


    【解决方案1】:

    有趣的性能统计数据。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-12-20
      • 1970-01-01
      • 2018-07-17
      • 2015-02-15
      • 2018-07-05
      • 2013-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多