Elastic 中文社区
优采云 发布时间: 2020-08-12 13:06Advent接力传到我这儿了,今天我给你们介绍一下Beats,刚好前几天也有好多人问我它是干嘛的,之前的北京我有分享过Beats的内容,PPT在这里:事实上Beats是一系列产品的总称,属于ElasticStack上面搜集数据的这一层:Data Shipper Layer,包括以下若干Beats:PacketBeat,用来嗅探和剖析网路流量,如HTTP、MySQL、Redis等TopBeat,用来搜集系统的监控信息,功能如其名,类似*nix下的top命令,只不过所有的信息就会发送给前端的集中储存:Elasticsearch,这样你就可以很方便的监控所有的服务器的运行情况了FileBeat,用来搜集数据源是文件的数据,比如常见的系统日志、应用日志、网站日志等等,FIleBeat思路来自Logstash-forwarder,Beats团队加入然后构建改写而成,解决的就是Logstash作为Agent采集时占用太多被搜集系统资源的问题,Beats家族都是Golang编撰,效率高,占用显存和CPU比较少,非常适宜作为agent跳着服务器上。。。所以Beats似乎是一套框架,另外的一个子项目Libbeat,就是所有beats都共用的模块,封装了所有的公共的组件,如配置管理、公共基础类、协议的解析处理、与Elasticsearch的操作等等,你可以很方便基于它实现你自己的beats,这也是Beats的目标,希望将来会出现更多的Beats,做各种各样的事情。
另外PacketBeat比较特殊,它又是网路合同抓包和处理的一个框架,目前支持了常见的一些合同,要扩充未知的合同似乎十分简单,PacketBeat作为一个框架,数据抓包和后续的储存早已帮你处理好了,你只须要实现你的合同的解码操作就行了,当然这块也是最难和最业务相关的。关于PacketBeat我回头再单独写一篇文章来介绍如何编撰一个PacketBeat的合同扩充吧,PacketBeat扩充的其它合同最终还是须要和PacketBeat集成在一起,也就是最终你的代码是要和PacketBeat的代码在一个工程上面的,而其它的Beats使用Libbeat完全是单独的Beat,如Filebeat和TopBeat,完全是独立打包和独立运行,这个也是两大Beats的主要区别。随便提一下,现在所有的这种Beats早已合并到一个项目上面来便捷管理了,golang,you know:现在社区早已递交了的Beats: ... .html明明天在Beijing的ArchSummit2015,我将在Elastic展厅,欢迎过来恐吓,领取Elastic的各类贴纸,还有限量的印有Elastic的外套,数量有限哦明天的Advent就那些吧。Advent接力活动,规则: