7

我阅读了一篇关于设置 Logstash、Elasticsearch 和 Kibana 的博文,作者建议使用 NXLog 从不同的机器发送日志。“The Logstash Book”中介绍的典型分布式场景展示了如何将 Logstash 用于运输和索引角色。我们目前正在试验 Logstash,并将其设置为将日志发送到 Elasticsearch 非常简单。所以我想知道为什么人们选择 NXLog 作为 Logstash 的日志传送器,而不是在两端都使用 Logstash。

4

3 回答 3

18

logstash -forwarder项目,以前称为“Lumberjack”,是这样解释的:

资源使用问题

感知到的问题:一些用户认为 logstash 版本“很大”或者对 Java 有普遍的恐惧。

实际问题:目前,Logstash 的运行占用空间对 EC2 微实例等配置不足的系统不友好;在其他系统上很好。在解决之前,该项目将一直存在。

运输问题

很少有日志传输机制能够提供安全性、低延迟和可靠性。

本项目使用的伐木工人协议的存在是为了提供一种安全、低延迟、低资源使用和可靠的传输网络协议。

Logstash shipper 实例并不是特别重量级,但如果您的机器只有 1-2GB 的 RAM,则很难随便分配数百 MB 给另一个 JVM 实例。

另一个考虑因素:如果您的托运人节点正在运行 Logstash 不支持的操作系统怎么办?Logstash 现在可以在 Windows 上运行,但它仍然存在问题。我不能特别担保 NXLog 在那个领域,但我认为它是一个受欢迎的选择。

于 2014-09-05T18:48:27.817 回答
2

我们使用 RSyslog 而不是 LogStash 实现了交付,因为希望尽可能让 java 远离我们的主机。它使 loghost/filer 上的 LogStash 配置更复杂一些,但不必跟上前端主机上的 Java 安全升级比在中央文件管理器上处理日志更痛苦。

于 2014-09-09T15:23:04.090 回答
0

我使用 nxlog,因为它与源、平台和目标无关。

作为一个安全团队,我们需要来自各处的大量数据,但又不想负责处理运营数据。在将数据传送到 logstash 或 splunk 后检索数据也不可行。因此,nxlog 让我们可以吃到蛋糕:我们将数据发送到安全收集基础设施,并允许运营团队将部分或全部数据(甚至我们不感兴趣的数据)发送到他们想要的任何地方。

它还满足了将基础架构作为可替换组件的核心要求……如果出现更好的情况,我们可以替换单个组件(例如用 flink 替换 Storm),而无需更改整个基础架构(就像我们从 splunk 移开一样)

于 2019-12-08T17:13:17.467 回答