kafka生产者是否可以侦听某些端口(UDP / TCP),然后将该数据发送到指定的主题。
我是否需要开发一个单独的守护进程来监听端口,然后将数据发送到kafka主题? (已经有一些github项目可用)。只是想确保我们已经有办法做到这一点,以便它变得更健壮,更容易扩展。 BAsically,将UDP数据包中继到Kafka
此致 苏尼
答案 0 :(得分:4)
正如评论中所提到的,是的,这是可能的 - 通过谷歌搜索可以找到几个解决方案 - 这是一个项目,让你做你想做的事 - 开箱即用:
答案 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")