从网站写Kafka的最佳方式是什么?

时间:2017-10-23 01:15:18

标签: apache-kafka

我的意思是我知道如何通过某个文件代理或使用任何客户端以编程方式将数据导入kafka,但从架构的角度来讲......

它无法收集HTTP日志。

我假设当有人点击某个链接或做了一些有趣的事情时,我们可以使用某种ajax / javascript调用来调用某些微服务来捕获我们想要的额外信息?但这并不总是可靠的#34;说,但我们在乎吗?

或者在给定的"动作"回到服务器我们同时写入Kafka并执行其他操作?

1 个答案:

答案 0 :(得分:2)

从您的问题中不清楚您是否尝试从一组Web服务器收集所有点击流日志,或者您是否尝试从Web应用程序中选择性地向Kafka发布一些数据,因此我将回答这两个问题。 / p>

收集每次Web点击的最简单方法是将Web服务器配置为使用Syslog(请参阅http://archive.oreilly.com/pub/a/sysadmin/2006/10/12/httpd-syslog.html)并配置Syslog服务器以将数据发送到Kafka(请参阅https://www.balabit.com/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-guide-admin/html/configuring-destinations-kafka.html)。另外,这个Kafka Connector for Syslog-NG还有一些更高级的功能(参见https://github.com/jcustenborder/kafka-connect-syslog)。您还可以将httpd日志写入文件并使用Kafka文件连接器发布到Kafka(请参阅https://docs.confluent.io/current/connect/connect-filestream/filestream_connector.html

如果您只是想让您的应用程序直接向Kafka发送某些日志数据,您可以使用Kafka REST代理并使用客户端JavaScript或服务器端逻辑中的简单HTTP POST发布(请参阅https://docs.confluent.io/current/kafka-rest/docs/index.html