1.0 ELK
ELK是Elasticsearch、Logstash、Kibana的简称,
缺陷:瓶颈点在logstash,logstash 重量型,占用资源大,吞吐量有限
首先logstash具有日志采集、过滤、筛选等功能,功能完善但同时体量也会比较大,消耗系统资源自然也多。filebeat作为一个轻量级日志采集工具,虽然没有过滤筛选功能,但是仅仅部署在应用服务器作为我们采集日志的工具可以是说最好的选择了。但我们有些时候可能又需要logstash的过滤筛选功能,所以我们在采集日志时用filebeat,然后交给logstash过滤筛选。
其次,logstash的吞吐量是有限的,一旦短时间内filebeat传过来的日志过多会产生堆积和堵塞,对日志的采集也会受到影响,所以在filebeat与logstash中间又加了一层kafka消息队列来缓存或者说解耦,当然redis也是可以的。这样当众多filebeat节点采集大量日志直接放到kafka中,logstash慢慢的进行消费,两边互不干扰。
2.0 filebeat +kafka+ELK
性能更好 ,filebeat 轻量型吞吐量高
3.0 kafka+ELK
相当于没有filebeat,直接发送到kafka 消息内容里面。