已上线的日志采集系统,使用flume收集日志,通过logstash将日志中的数据根据规则进行结构化,最后把结构化数据写入kafka,供消费者使用。
Flume是Cloudera贡献的一个分布式、可靠及高可用的海量日志采集系统,支持定制各类Source(数据源)用于数据收集,同时提供对数据的简单处理以及通过缓存写入Sink(数据接收端)的能力。本系统中主要用于通过配置文本进行日志数据的收集。
Logstash来自Elastic公司,专为收集、分析和传输各类日志、事件以及非结构化的数据所设计。本系统中主要使用Filter(过滤器)进行正则表达式处理、编解码、k/v切分以及各种数值、时间等数据处理,提取结构化数据。
Kafka 是LinkedIn开发并开源出来的一个高吞吐、分布式的、分区化的、可复制的日志处理框架。本系统中作为Producer(消息生产者)角色,消费者可对kafka中的数据进行消费,用于离线计算、实时计算、流式计算均可。