Apache Flume在同一源上具有2个不同的拦截器

时间:2018-08-07 22:48:56

标签: apache selector interceptor flume

我正在尝试在同一源上添加2个不同的拦截器,并将拦截的数据发送到2个不同的通道。 但是,我无法进行配置。找不到与此相同的任何文档。此外,我在使用频道选择器时遇到了一些问题。不确定如何选择具有不同拦截器的通道。

到目前为止,这是我的代码:

a1.sources = syslog_udp
a1.channels = chan1 chan2
a1.sinks = sink1 sink2 //both are different kafka sinks


a1.sources.syslog_udp.type = syslogudp
a1.sources.syslog_udp.port = 514
a1.sources.syslog_udp.host = 0.0.0.0
a1.sources.syslog_udp.keepFields = true

a1.sources.syslog_udp.interceptors = i1 i2
a1.sources.syslog_udp.interceptors.i1.type = regex_filter
a1.sources.syslog_udp.interceptors.i1.regex = '<regex_string1>'
a1.sources.syslog_udp.interceptors.i1.excludeEvents = false

a1.sources.syslog_udp.interceptors.i2.type = regex_filter
a1.sources.syslog_udp.interceptors.i2.regex = '<regex_string1>'|'<regex_string2>'
a1.sources.syslog_udp.interceptors.i2.excludeEvents = false

a1.sources.syslog_udp.selector.type = multiplexing
a1.sources.syslog_udp.channels = chan1 chan2


a1.channels.chan1.type = memory
a1.channels.chan1.capacity = 200
a1.channels.chan2.type = memory
a1.channels.chan2.capacity = 200

1 个答案:

答案 0 :(得分:0)

似乎没有简单的设置方法。 这种布局的一种变通方法是在一个代理中具有单个/较宽的通道拦截器,将输出通过管道传输到avro接收器,并为avro源设置一个新的代理,并在其上设置新的通道拦截器。