中小型互联网分布式项目这套架构足以。
大型互联网分布式项目
针对大型互联网分布式项目来说,如果应用服务过多吗,成百上前的话,每台服务器上又有很多个应用实例,这样就可能存在很多个filebeat
,这样很多个日志收集器都把收集到的日志全部转发到logstash
上,filebeat
增多,logstash
自然也得增多,我们知道logstash是用来对日志进行filter
过滤的,所以很消耗内存,这样会导致很多日志堆积再logstash
,可能导致down机并且丢失,所以这时候我们可能就需要借助kafka
来做一个日志数据缓冲,将filebeat
收集到的日志先转发到kafka中(filebeat
天生就自带可以转发到kafka
的配置),然后logstash再不慌不忙的去消费kafka里面的日志消息就行了,最后转存到ES
中。这样就做到了针对大型互联网分布式项目的一个日志收集高可用架构。