加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

将Nginx日志放入Kafka的最佳选择?

发布时间:2020-12-13 21:30:15 所属栏目:Nginx 来源:网络整理
导读:我们正在处理来自我们在HDFS上添加的多个服务器的大型日志文件.我们目前有一个很好的批处理解决方案(主要是每天移动和编写文件),并希望用Kafka实现实时解决方案. 基本上,我们需要将来自Nginx的日志放入Kafka,然后编写消费者来写入HDFS(这可以通过HDFS消费者h

我们正在处理来自我们在HDFS上添加的多个服务器的大型日志文件.我们目前有一个很好的批处理解决方案(主要是每天移动和编写文件),并希望用Kafka实现实时解决方案.

基本上,我们需要将来自Nginx的日志放入Kafka,然后编写消费者来写入HDFS(这可以通过HDFS消费者https://github.com/kafka-dev/kafka/tree/master/contrib/hadoop-consumer完成).

您建议将日志移至Kafka的方法是什么?

>我们可以编写一个nginx模块,但并不是那么简单.这个https://github.com/DemandCube/Sparkngin可以提供一些线索.
>读取日志文件(尾部…)看起来是个坏主意,因为有一个无用的写操作.在推送到Kafka之前,Logstash还需要写/读操作,这似乎是不必要的.

还有其他想法吗?

最佳答案
我知道这是一个老问题.但最近,我还需要做同样的事情.

tail -f producer的问题在于日志轮换,当尾部死亡时,你真的不知道哪些行已被发送到Kafka.

从nginx 1.7.1开始,access_log指令可以登录到syslog.请参阅http://nginx.org/en/docs/syslog.html.我们利用它来登录rsyslog,从rsyslog登录到Kafka. http://www.rsyslog.com/doc/master/configuration/modules/omkafka.html

这样做有点圆润,但这样,日志丢失的机会也就不小了.此外,如果您使用的是CentOS,那么rsyslog无论如何都会附带它.

所以简而言之,这是我认为将nginx日志放入kafka的最佳选择:

nginx -> rsyslog -> kafka

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读