小编Sar*_*uru的帖子

使用 Apache Kafka 进行日志聚合

我正在从他们的快速入门教程中学习 Apache Kafka:http : //kafka.apache.org/documentation.html#quickstart。到目前为止,我已经完成了如下设置。一个生产者节点,其中一个 web 服务器运行在 8888 端口。另一个节点上的 Kafka 服务器(代理)、消费者和 Zookeeper 实例。我已经测试了具有 3 个分区的默认启用控制台/文件的生产者和消费者。设置是完美的,我能够看到我按照他们创建的顺序发送的消息(在每个分区中)。

现在,我想将从 Web 服务器生成的日志发送到 Kafka Broker。这些消息稍后将由消费者处理。目前我正在使用 syslog-ng 将服务器日志捕获到文本文件中。关于如何实现生产者以使用 kafka 进行日志聚合,我提出了 3 个粗略的想法

生产者实现

第一类: 监听 syslog-ng 的 tcp 端口。获取每条消息并发送到 kafka 服务器。这里我们有两个中间进程:Producer 和 syslog-ng
第二类:使用 syslog-ng 作为 Producer。应该找到一种方法将消息发送到 Kafka 服务器而不是写入文件。syslog-ng,生产者是中间进程。
第三类:将网络服务器本身配置为生产者。

我的想法是否正确。在最后一种情况下,我们没有任何中间过程。但我怀疑它的实现会影响服务器性能。任何人都可以让我知道使用 Apache Kafka 的最佳方式(如果以上 3 种不好)并指导我完成服务器的适当配置吗?...

PS:我在我的网络服务器上使用 node.js

谢谢,
萨拉

webserver syslog-ng node.js apache-kafka

5
推荐指数
1
解决办法
9385
查看次数

标签 统计

apache-kafka ×1

node.js ×1

syslog-ng ×1

webserver ×1