将 UDP 消息推送到 Kafka 主题
Pushing UDP messages to Kafka topic
kafka 生产者是否可以监听某些端口(UDP/TCP),然后将该数据发送到指定的主题。
我是否需要开发一个单独的守护进程来监听端口,然后将数据发送到 kafka 主题? (已经有一些 github 项目可用)。只是想确保我们已经有办法做到这一点,以便它变得更加健壮且易于扩展。基本上,将 UDP 数据包中继到 Kafka
问候
苏尼尔
如评论中所述,是的,这是可能的 - 通过 google 搜索可以找到多种解决方案 - 这是一个项目,它可以让你做你想做的事 - 开箱即用:
我更愿意使用 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")
kafka 生产者是否可以监听某些端口(UDP/TCP),然后将该数据发送到指定的主题。
我是否需要开发一个单独的守护进程来监听端口,然后将数据发送到 kafka 主题? (已经有一些 github 项目可用)。只是想确保我们已经有办法做到这一点,以便它变得更加健壮且易于扩展。基本上,将 UDP 数据包中继到 Kafka
问候 苏尼尔
如评论中所述,是的,这是可能的 - 通过 google 搜索可以找到多种解决方案 - 这是一个项目,它可以让你做你想做的事 - 开箱即用:
我更愿意使用 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")