1.前言
通过前面两篇博文,我们搭建了elk环境,走通了从logstash到kafka的数据流,接下来我们要调试的是从kafka到es的数据流。
1.1前辈走过的路kafka-->es
有这位前辈,https://blog.youkuaiyun.com/u014236541/article/details/78730414进行了部分的总结:
- Kafka->logstash->elasticsearch->kibana(简单,只需启动一个代理程序)
- Kafka->kafka-connect-elasticsearch->elasticsearch->kibana(与confluent绑定紧,有些复杂)
- Kafka->elasticsearch-river-kafka-1.2.1-plugin->elasticsearch->kibana(代码很久没更新,后续支持比较差
这位前辈是通过程序进行导入:https://www.cnblogs.com/smartloli/p/6978645.html
,使用Kafka的消费API和ES的存储API来处理分流数据。通过编写Kafka消费者,消费对应的业务数据,将消费的数据通过ES存储API,通过创建对应的索引的,存储到ES中。其流程如下图所示:
上图可知,消费收集的数据,通过ES提供的存储接口进行存储。存储的数据,这里我们可以规划,做定时调度。最后,我们可以通过Kibana来可视化ES中的数据,对外提供业务调用接口,进行数据共享。
类似第二位的有:https://www.cnblogs.com/ygwx/p/5337835.htm
1.2框架重设
中间logWeb是一个工程,实现两种功能:1.监控kafka中消息;2.将kafka中消息导入到es中,logstash部署到各个应用中进行日志的实时收集。
这个重点就放在了LogWeb工程的实现;