B站视频地址:ELK和Kafka是怎么就玩在一块儿成了日志采集解决方案node
公众号视频地址:ELK和Kafka是怎么就玩在一块儿成了日志采集解决方案架构
知乎视频地址:ELK和Kafka是怎么就玩在一块儿成了日志采集解决方案elasticsearch
视频文字版ide
今天呢我就带来了一期视频,主要就是讲ELK和Kafka之间的通信关系经过对一张通信图,和一些操做命令,让咱们能更深刻的去理解ELK在日志采集过程中以及Kafka在消息队列分发过程中,它们是如何进行配置使用的,以及它们之间的通信机制但愿对您的学习有所帮助,谢谢!
咱们的目标是一台主机主机上的服务会产生日志,例如/var/log目录下面会不断产生各类日志记录咱们把这个采集范围称为日志采集源这时候咱们把ELK的文件采集器filebeat部署到这台主机上,让它实时监测并增量采集最新的日志记录Filebeat能够给ELK家族的Elasticsearch搜索引擎直接推送采集日志也能够给ELK另一个日志管道工具Logstash直接推送采集日志最关键的一步是filebeat能够将日志做为消息直接推送给Kafka集群。工具
咱们就经过命令操做演示,更具体的看看它究竟是怎么配置的 首先经过pwd命令,查看一下filebeat所在的目录,个人安装目录在/opt/filebeat目录下而后咱们再用ls命令查看一下目录下面的文件,找到filebeat的配置文件filebeat.yml。学习
接着咱们用vi命令编辑并查看filebeat.yml文件咱们用output关键字,搜索filebeat采集输出的配置,经过n键匹配,咱们找到了第一个配置点:Elastisearch输出好,咱们能够看到已经被#注掉的Elastisearch,证实filebeat采集到数据不会输出给Elasticsearch。同时能够看到Elasticsearch接收地址是node1,端口是9200。 好!接着继续按n键搜索下一个输出,这时候咱们找到了第二个配置点:Logstash输出咱们一样能够看到已经被#注掉的Logstash,证实filebeat采集到数据不会推给logstash,同时能够看到Logstash的接收地址:node1,端口5044Ok,咱们接着继续按n键搜索最后一个数据,这时候咱们找到了最后一个输出点:Kafka输出此次Kafka的输出没有被注释掉,证实filebeat采集到的数据必定会输出给Kafka同时咱们看到接收数据的Kafka集群是由三台机器组成node二、node三、node4,端口都是9092推送给Kafka的topic是testT3大数据
经过命令演示中的配置,让咱们寻求一种最合理的日志管道传输解决方案,首先filebeat将数据推送给Kafka集群,这样能够造成一个大吞吐承载力的数据缓冲区,并且由Kafka能够接收更多的filebeat采集点接着Logstash做为Kafka的消费者客户端订阅testT3 Topic,Logstash具有了各类过滤器,编解码器,进行数据清洗,能够为下一阶段的输出提供更高质量的日志数据最后Logstash将日志数据写入elasticsearch集群的索引当中,完成日志的最终落地。搜索引擎
公众号 "读字节" 大数据(技术、架构、应用)的深度,专业解读
视频