-1.
Logstash是一个开源的服务器端数据处理管道,可以同时从多个数据源获取数据,并对其进行转换,然后将其发送到你最喜欢的“存储”。
- Inputs:用于从数据源获取数据,常见的插件如file, syslog, redis, beats 等
- Filters:用于处理数据如格式转换,数据派生等,常见的插件如grok, mutate, drop, clone, geoip等
- Outputs:用于数据输出,常见的插件如elastcisearch,file, graphite, statsd等
Logstash最值得一提的是,在Filter plugin部分具有比较完备的功能,比如grok,能通过正则解析和结构化任何文本,Grok 目前是Logstash最好的方式对非结构化日志数据解析成结构化和可查询化。此外,Logstash还可以重命名、删除、替换和修改事件字段,当然也包括完全丢弃事件,如debug事件。还有很多的复杂功能供程序员自己选择,你会发现这些功能Flume是绝对没有(以它的轻量级线程也是不可能做到的)。当然,在input和output两个插件部分也具有非常多类似的可选择性功能,这一点跟Flume是比较相似的。
-2.
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 Flume比较看重数据的传输,因此几乎没有数据的解析预处理。仅仅是数据的产生,封装成event然后传输。
源(Source输入)——存储(Channel管道)——出口(Sink目标输出)。因为涉及到这三个结构,所以做配置就比较复杂。
-3.总结
logstash简单方便,侧重对数据的预处理。 flume使用配置繁琐,最初设计目的是为了把数据传入到HDFS中,侧重传输(多路由)中稳定性。
来源:oschina
链接:https://my.oschina.net/u/4456229/blog/3165802