将 UDP 消息推送到 Kafka 主题

Pushing UDP messages to Kafka topic

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

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

问候 苏尼尔

如评论中所述,是的,这是可能的 - 通过 google 搜索可以找到多种解决方案 - 这是一个项目,它可以让你做你想做的事 - 开箱即用:

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

我更愿意使用 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")