如果在网上搜索实时日志流处理,你应该能够搜到很多教你搭建实时流处理平台做日志分析的教程。
这些教程使用的技术栈大多是 Flume+Kafka+Storm、Spark Streaming 或 Flink。特别是 Flume+Kafka+Flink 的组合,逐渐成为了实时日志流处理的标配。不过,要搭建这样的处理平台,你需要用到 3 个框架才能实现,这既增加了系统复杂度,也提高了运维成本。
使用 Apache Kafka 这一个框架,实现一套实时日志流处理系统。换句话说,我使用的技术栈是 Kafka Connect+Kafka Core+Kafka Streams 的组合。
19年一直在做容器日志平台,我们目前的方案是 Fluentd + Kafka + ELK。使用Fluentd做为容器平台的采集器实时采集数据,采集完之后数据写入Kafka通过Kafka进行解耦,使用Logstash消费后写入ES。这套方案目前在容器环境下应该可以说是标配