我目前正在建立中央日志记录系统(使用ELK),估计可以从100个微服务中获取日志数据,并且可以扩展更多。要求是具有最小的延迟和高度可用的解决方案
现在,我被困在外观设计上。
通过互联网学习时,我得到了以下广泛用于此类要求的方法
微服务-> filebeat-> kafka-> logstash-> ElasticSearch-> Kibana
但是,我正在努力了解在这种情况下filebeat是否真的有用。
如果我直接将日志流传输到Kafka,然后将其发送到logstash怎么办?这将帮助我克服对日志文件的维护,并且减少了一个要监视和维护的组件。
我看到使用kafka优于filebeat的优点是,在所传送的数据量非常大或ES群集不可访问的情况下,它可以充当缓冲区。资料来源:https://www.elastic.co/blog/just-enough-kafka-for-the-elastic-stack-part1
我想了解一下我无法实现的filebeat是否有任何真正的好处。
最佳答案
Filebeat可以安装在每个服务器或节点上。 Filebeat收集并快速发送日志。用go编写,它非常快速,轻巧。
对于您的情况,优点是您不必花时间开发用于收集和发送日志的相同功能。您只需为您的日志记录体系结构使用并配置Filebeat。这很方便。
Filebeat的另一种描述可在link上找到。
关于elasticsearch - Kafka vs Filebeat将Shippong日志转换为Logstash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62846339/