【Flume简介】

1 介绍

flume是实时日志采集系统,

使用场景:监控目录的日志信息,控制台输入信息,端口信息,http发送的信息,并将该信息发送到指定的存储中,比如hdfs,Hbase,kafa等。为了保证flume的可靠性,flume搜集到的信息可以选择持久到磁盘中,等数据成功发送到别的地方后才会删除。

2 flume的概念

agent:flume的独立运行单位,一次存在多个agent,一个agent就是一个jvm

source:数据的搜集端,收集的数据会进行特殊的格式转化,并封装到event中,发送到Channel中,支持 Avro, log4j, syslog 和 http post(body为json格式)

event:事件,存储数据的基本单位,由header和body组成,header是由map组成。

channel: 通道,也可以理解为缓存队列,存储从cource发送过来的数据。连接sink和source的组件,比较常用的Channel的有,MemoryChannel和FileChannel。

sink:从channel中读取数据,并将数据移除,可以将数据发送到其它存储,也可以发送到下一个agent中去。常用的有hdfsSink,HbaseSink等

备注:agent的sink和source组件,都可以实现自定义。

3 拦截器

拦截器,用处对source搜集的数据传递给channel前进行过滤删除或者转换

Timestamp Interceptor:用于在event的header添加数据,用于sink发出的数据文件命名

Host Interceptor : IP拦截,在even中添加Ip或者替换

Regex FilteringInterceptor:正则过滤器,不符合正则的数据将删除

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容