视频地址:ELK和Kafka是怎么就玩在一起成了日志采集解决方案
视频文字版
明天呢我就带来了一期视频,次要就是讲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集群是由三台机器组成node2、node3、node4,端口都是9092推送给Kafka的topic是testT3
通过命令演示中的配置,让咱们寻求一种最正当的日志管道传输解决方案,首先filebeat将数据推送给Kafka集群,这样能够造成一个大吞吐承载力的数据缓冲区,而且由Kafka能够接管更多的filebeat采集点接着Logstash作为Kafka的消费者客户端订阅testT3 Topic,Logstash具备了各种过滤器,编解码器,进行数据荡涤,能够为下一阶段的输入提供更高质量的日志数据最初Logstash将日志数据写入elasticsearch集群的索引当中,实现日志的最终落地。
返回读字节的知乎——理解更多对于大数据的常识公众号“读字节” 分布式,大数据,软件架构的深度,业余解读