FileBeat直接发送到ELS还是通过LogStash?

时间:2016-10-05 12:20:20

标签: elasticsearch logstash kibana filebeat

我们正在安装ELS和Kibana进行日志聚合/分析。第一个使用它的系统是绿地,因此我们从构成我们系统的服务输出结构化日志。鉴于我们不需要在日志中添加结构,我计划使用FileBeat将日志直接发送到ELS而不使用LogStash。这是一个明智的选择还是LogStash除了我们可能需要的解析之外还有价值?如果我们使用LogStash,我可以使用它来收集日志文件,还是应该使用FileBeat将日志抽取到LogStash?

2 个答案:

答案 0 :(得分:6)

如果您需要聚合来自许多服务器的日志并应用一些常见的转换并过滤到您的事件,则Logstash非常有用。

如果您的日志事件已经结构化并且您可以直接索引它们,那么您肯定可以将Filebeat直接发送给ES。如果ES发生故障(例如维护),Filebeat将重试,直到它成功发送事件为止。

答案 1 :(得分:3)

  

这是一个明智的选择还是LogStash除了我们可能需要的解析之外还有价值?

决定是否在您的情况下使用Logstash取决于您是否需要在将日志插入ES之前对其进行处理。

除了解析(在您的用例中显然无用)之外,您还可以使用Logstash添加geoip filter的位置,使用date filterreplace a word with another解析日期,replace a field with a hash ...
您可以查看可用的过滤器here

  

如果我们使用LogStash,我可以使用它来收集日志文件,还是应该使用FileBeat将日志抽取到LogStash?

如果您需要Logstash并且可以在日志所在的计算机上运行它,则可以通过使用文件输入来避免使用filebeat。
但请记住,Logstash,特别是用于解析,可以消耗大量资源,最好将它放在另一台机器上,并使用filebeat将日志抽取到Logstash。