为什么人们使用NXLog将日志发送到Logstash而不是Logstash本身?

时间:2014-09-05 12:12:57

标签: logging elasticsearch logstash kibana nxlog

我阅读a blog post关于设置Logstash,Elasticsearch和Kibana,并且作者建议使用NXLog从不同的机器发送日志。 “Logstash Book”中提供的典型分布式方案显示了Logstash如何在运输和索引角色中使用。我们目前正在尝试使用Logstash,并将其设置为将日志发送到Elasticsearch非常简单。所以我想知道为什么人们选择NXLog作为Logstash的日志托运者而不是两端都使用Logstash。

3 个答案:

答案 0 :(得分:17)

logstash-forwarder项目,以前称为" Lumberjack",解释如下:

  

资源使用问题

     

感知问题:有些用户将logstash版本视为" large"要么   对Java有一种普遍的恐惧。

     

实际问题:现在,Logstash以足迹运行   对EC2 micro等欠配置系统不友好   实例;在其他系统上它很好。这个项目将存在,直到   已经解决了。

     

传输问题

     

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

     

这个项目使用的伐木工人协议是为了提供一个   用于传输的网络协议,安全,低延迟,低   资源使用,可靠。

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

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

答案 1 :(得分:1)

由于希望尽可能让Java远离我们的主机,因此我们已经实施了RSyslog而不是LogStash。它使loghost / filer上的LogStash配置稍微复杂一点,但不必在前端主机上跟上Java安全升级,这比处理在中央文件管理器上拆分日志更加困难。

答案 2 :(得分:0)

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

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

它还满足了将基础结构作为可替换组件的核心要求……如果情况更好,我们可以替换单个组件(例如,用flink替换Storm),而不必更改整个基础架构(因为我们确实从基础设施移开了)脾气暴躁