比尔·戈德堡:
我打算为我们的项目之一设计一个集中式日志记录系统,该系统具有用Java,Python和Scala编写的多个组件。我想收集来自不同部分(REST Server,Spark Jobs,Airflow server)的日志,以进行logstash并索引到Elastic search中。我可以看到Python和Java日志记录模块中都有直接的库,可以将日志直接从应用程序推入logstash。我可以看到可以在服务器上配置的filebeat,以将日志从文件推送到logstash。使用filebeat而不是直接将日志发送到logstash有什么好处?最佳做法是什么?
Furhan S .:
以下是这两种方法的利弊:
应用程序日志=> Logstash
优点:
缺点:
- Logstash拥塞或其中断可能会对您的应用程序产生不利影响
- 更改日志目标可能需要您重新部署或重新启动应用程序
应用程序日志=> Filebeat => Logstash
优点:
- Filebeat是一个轻量级实用程序,它使您可以将日志处理与应用程序逻辑分离
- 更改日志目标非常容易,它本身就支持在多个logstash目标实例之间进行负载平衡
- 可以使用其他字段来充实日志,或者您可以仅通过更改filebeat配置来执行日志的条件处理,例如,将客户A的日志发送到Logstash A
- 日志在本地进行缓冲,即使logstash进程重新启动或在一定时间内变得不可用,日志也将可靠地传输到Logstash(前提是您的日志文件保留在磁盘上供filebeat使用并具有适当的配置)
缺点:
- 在应用程序体系结构中要管理的另一个组件
- 需要额外的系统资源(通常进行轻量级处理)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
编辑于
我来说两句