将UDP消息推送到Kafka主题

时间:2016-05-25 11:45:52

标签: apache-kafka kafka-producer-api

kafka生产者是否可以侦听某些端口(UDP / TCP),然后将该数据发送到指定的主题。

我是否需要开发一个单独的守护进程来监听端口,然后将数据发送到kafka主题? (已经有一些github项目可用)。只是想确保我们已经有办法做到这一点,以便它变得更健壮,更容易扩展。 BAsically,将UDP数据包中继到Kafka

此致 苏尼

2 个答案:

答案 0 :(得分:4)

正如评论中所提到的,是的,这是可能的 - 通过谷歌搜索可以找到几个解决方案 - 这是一个项目,让你做你想做的事 - 开箱即用:

https://github.com/agaoglu/udp-kafka-bridge

答案 1 :(得分:0)

我更喜欢使用rsyslogd: /etc/rsyslog.d/kafka.conf

module(load="imudp")
module(load="omkafka")

template(name="kafka_msg" type="string" string="%msg%")

ruleset(name="kafka") {
  :msg, !contains, "timestamp" ~
  action (
    type="omkafka"
    topic="nginx-accesslog"
    broker=["192.168.1.1:9092", "192.168.1.2:9092", "192.168.1.3:9092"]
    template="kafka_msg"
    confParam=["compression.codec=gzip"]
    partitions.auto="on"
  )
}

input(type="imudp" port="10514" Ruleset="kafka")