Interceptors

摘要:
Type–类型名称,必须是时间戳或自定义类preserveExistingfalse的完整路径名。如果时间戳已经存在,是否要保留3.HostInterceptor?拦截器根据配置将当前处理代理的主机名或IP标头插入为主机,或者配置的名称值为主机名或地址。Type–类型,必须是正则表达式提取器!

1.概述

Flume有能力在运行阶段修改/删除Event,这是通过拦截器(Interceptors)来实现的。
拦截器需要实现org.apache.flume.interceptor.Interceptor接口。
拦截器可以修改或删除事件基于开发者在选择器中选择的任何条件。
拦截器采用了责任链模式,多个拦截器可以按指定顺序拦截。
一个拦截器返回的事件列表被传递给链中的下一个拦截器。
如果一个拦截器需要删除事件,它只需要在返回的事件集中不包含要删除的事件即可。
如果要删除所有事件,只需返回一个空列表。
 

2.Timestamp Interceptor

这个拦截器在事件头中插入以毫秒为单位的当前处理时间。
头的名字为timestamp,值为当前处理的时间戳。
如果在之前已经有这个时间戳,则保留原有的时间戳。
 
参数说明:
!type 类型名称,必须是timestamp或自定义类的全路径名
preserveExisting false 如果时间戳已经存在是否保留
 

3.Host Interceptor

这个拦截器插入当前处理Agent的主机名或ip
头的名字为host或配置的名称
值是主机名或ip地址,基于配置。
 
参数说明:
!type 类型名称,必须是host
preserveExisting false 如果主机名已经存在是否保留
useIP true 如果配置为true则用IP,配置为false则用主机名
hostHeader host 加入头时使用的名称
 

4.Static Interceptor

此拦截器允许用户增加静态头信息使用静态的值到所有事件。
目前的实现中不允许一次指定多个头。
如果需要增加多个静态头可以指定多个Static interceptors
属性说明:
!type 类型,必须是static
preserveExisting true 如果配置头已经存在是否应该保留
key key 要增加的透明
value value 要增加的头值
 

5.UUID Interceptor

这个拦截器在所有事件头中增加一个全局一致性标志。
其实就是UUID。
 
属性说明:
!type 类型名称,必须是org.apache.flume.sink.solr.morphline.UUIDInterceptor$Builder
headerName id 头名称
preserveExisting true 如果头已经存在,是否保留
prefix “” 在UUID前拼接的字符串前缀
 

6.Morphline  Interceptor

7.Search and Replace Interceptor

这个拦截器提供了简单的基于字符串的正则搜索和替换功能。
 
属性说明:
type 类型名称,必须是"search_replace"
searchPattern 要搜索和替换的正则表达式
replaceString 要替换为的字符串
charset UTF-8 字符集编码,默认utf-8
 

8.Regex Filtering Interceptor

此拦截器通过解析事件体去匹配给定正则表达式来筛选事件。
所提供的正则表达式即可以用来包含或刨除事件。
 
属性说明:
!type 类型,必须设定为regex_filter
regex ”.*” 所要匹配的正则表达式
excludeEvents false 如果是true则刨除匹配的事件,false则包含匹配的事件。
 

9.Regex Extractor Interceptor

使用指定正则表达式匹配事件,并将匹配到的组作为头加入到事件中。
它也支持插件化的序列化器用来格式化匹配到的组在加入他们作为头之前。
 
属性说明:
!type 类型,必须是regex_extractor
!regex 要匹配的正则表达式
!serializers Space-separated list of serializers for mapping matches to header names and serializing their values. (See example below) Flume provides built-in support for the following serializers: org.apache.flume.interceptor.RegexExtractorInterceptorPassThroughSerializer org.apache.flume.interceptor.RegexExtractorInterceptorMillisSerializer
serializers.<s1>.type default Must be default (org.apache.flume.interceptor.RegexExtractorInterceptorPassThroughSerializer), org.apache.flume.interceptor.RegexExtractorInterceptorMillisSerializer, or the FQCN of a custom class that implements org.apache.flume.interceptor.RegexExtractorInterceptorSerializer
serializers.<s1>.name  
serializers.* Serializer-specific properties
 
----
If the Flume event body contained 1:2:3.4foobar5 and the following configuration was used
 
a1.sources.r1.interceptors.i1.regex = (\d):(\d):(\d)
a1.sources.r1.interceptors.i1.serializers = s1 s2 s3
a1.sources.r1.interceptors.i1.serializers.s1.name = one
a1.sources.r1.interceptors.i1.serializers.s2.name = two
a1.sources.r1.interceptors.i1.serializers.s3.name = three
 
The extracted event will contain the same body but the following headers will have been added one=>1, two=>2, three=>3
----
 

免责声明:文章转载自《Interceptors》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇html里面的相对路径和绝对路径js获取高度和宽度下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

再见了,正则表达式

本文选自我个人创作的电子书 《Python黑魔法手册》 《Python黑魔法手册》在线阅读:http://magic.iswbm.com Github 项目地址:https://github.com/iswbm/magic-python 从一段指定的字符串中,取得期望的数据,正常人都会想到正则表达式吧? 写过正则表达式的人都知道,正则表达式入门不难,写...

python 字符串转时间戳datetime 以及儒略日的转换

#coding=utf-8#设a为字符串import timefrom datetime import datetimefrom datetime import timedeltaimport time,pdba = "20110928100000"# Now = datetime.now()#中间过程,一般都需要将字符串转化为时间数组# pdb.set_...

通过NTP协议进行时间同步

最近发现手机的时间不是很准了,便到网上下了一个同步时间的小程序,简单了看了一下它的原理,是通过NTP协议来实现校时的,就顺便学习了一下NTP协议,用C#写了个简单的实现。 NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。 NTP工作原理 NTP的基本工...

Java 开发 2.0: 现实世界中的 Redis

原文地址:http://www.ibm.com/developerworks/cn/java/j-javadev2-22/ 之前,我已在本系列中讨论过 NoSQL 的概念,也介绍了一些与 Java 平台兼容的 NoSQL 数据存储,其中包括 Google 的 Bigtable 和 Amazon 的 SimpleDB。此外,我还讨论过较为常见的基于服务器的...

分布式日志系统

FROM:http://go-on.iteye.com/blog/1789466 背景 Google、Facebook、Amazon等互联网巨头对于数据的创造性使用,创造出了很多辉煌的商业产品。如Amazon创造出的新的推荐模式:”查询此商品的顾客也查询了。。。。。”、“看过此商品的后的顾客买的其他商品有。。。。。。”、“购买了您最近浏览过的商品的顾客同时...

【UE】常用的UltraEdit使用技巧

Tip 1: Alt+C 列模式可以说最初选择使用这个文本编辑软件,原因很简单,就是因为“她”具有列编辑模式。如果您还不知道什么是列编辑模式的话,我想您应该好好研究一下啦。这是一个超级“赞”的功能。在对大文本进行批量的列编辑时候非她莫属(如果您是Windows平台上另外一个强大的文本编辑软件gVim的使用者除外)。快实验一下这个功能吧。Tip 2:Ctrl...