Flume学习笔记:Flume Interceptor的使用

目录

Flume Interceptor概念

TimeStamp Interceptor

测试

Host Interceptor

测试

Regex Filtering

测试 


Flume Interceptor概念

拦截器设置在Source和Channel之间,专门处理Event
每个拦截器只处理同一个Source接收到的事件
拦截器类型
    Timestamp Interceptor
    Host Interceptor
    Static Interceptor
    UUID Interceptor
    Morphline Interceptor
    Search and Replace Interceptor
    Regex Filtering Interceptor
    Regex Extrator Interceptor

 

TimeStamp Interceptor

将时间戳插入到Flume的Event Header中
Flume学习笔记:Flume Interceptor的使用_第1张图片

在source部分指定拦截器为Timestamp,类型必须为timestamp或FQCN(暂时不知道这是什么= =)
PreserveExisting默认值为False,当值为True时,若Event中Header已经存在,将不会替换TimeStamp Header的值
还有一个参数是header,设置的是Timestamp插入时的key,默认值是timestmp

测试

当拷贝文件时,Flume的控制台信息如下
Flume学习笔记:Flume Interceptor的使用_第2张图片

可以看到Header已经被加上了Timestamp

Host Interceptor

将服务器的ip或hostname插入到Event的报头中
Flume学习笔记:Flume Interceptor的使用_第3张图片

这里使用了两个拦截器,i1是Timestamp,i2是Host
hostHeader是Event Header的key
useIP的值为true则插入IP,false则插入主机名
还有一个参数是preserveExisting,效果同Timestamp的同名参数

测试

将测试用的文件夹里的url.txt删掉,然后开启Flume,再拷贝文件进去

可以看到主机名和时间戳都被插入了header

Regex Filtering

通过正则表达式来过滤掉不需要的日志信息,收集满足条件的信息
Flume学习笔记:Flume Interceptor的使用_第4张图片

在之前的基础上加上了正则过滤拦截器
type必须填 REGEX_FILTER
regex填入正则表达式
excludeEvents如果为true,则会删除匹配到的event,收集没有匹配到的;如果为false,则收集匹配到的

测试 

测试文件内容如下

Flume学习笔记:Flume Interceptor的使用_第5张图片

同样启动flume,然后拷贝进指定的目录

可以看到,Flume收集到的只有匹配到的行

你可能感兴趣的:(Flume)