FileBeat与LogStash简单测试对比

测试环境 CPU 内存 系统版本 硬盘大小 网卡
192.168.145.101 4个 每个4核 24G Linux version 2.6.32-642.el6.x86_64--Red Hat Enterprise Linux Server release 6.8 256G 万兆网卡
1.5分钟的持续输入日志,Log4J2打印日志,beat扫描文件将日志传输给LogStash,LogStash使用logstash-input-beats插件,接收日志输送给ElasticSearch,最后展示到Kibana
2.5分钟的持续输入日志,Log4J2打印日志,LogStash使用logstash-input-file插件扫描文件将日志输送给ElasticSearch,最后展示到Kibana
以上测试全部采用单节点
 
  LogStash FileBeat 备注    
内存 400左右   20左右(目前所有日志文件夹扫描255左右)      
CPU 8.5左右 (0.2 内存占用不超过1)      
最后一行处理      
安全传输 filebeat实现ssl加密验证    
背压敏感协议 当接收端繁忙时,会通知收集端降低传输速率,并在正常后恢复速度    
插件      
适用场景      
功能 从多种输入端采集并实时解析和转换数据并输出到多种输出端 传输      
应急 记忆上次读取节点 记忆上次读取节点      
文档      
轻重 轻量级框架(相对较重) 轻量级二进制文件      
过滤能力 强大的过滤能力 有过滤能力但是弱      
进程 一台服务器只允许一个logstash进程,挂掉之后需要手动拉起 十分稳定 都可以通过X-Pack的monitoring进行监控,5.1版本适配  
原理 Logstash使用管道的方式进行日志的搜集和输出,分为输入input --> 处理filter(不是必须的) --> 输出output,每个阶段都有不同的替代方式 开启进程后会启动一个或多个探测器(prospectors)去检测指定的日志目录或文件,对于探测器找出的每一个日志文件,filebeat启动收割进程(harvester),每一个收割进程读取一个日志文件的新内容,并发送这些新的日志数据到处理程序(spooler),处理程序会集合这些事件,最后filebeat会发送集合的数据到你指定的地点。      
编写语言 Jruby go语言      
集群 单节点 单节点      
输出到多个接收方 支持 6.0之前支持 为保持管道的简单性,明确beat的输出范围    
二次开发或者扩展开发      
支持异步发送 支持 支持      
           
           
           
           
           
           
           
           
           
           

你可能感兴趣的:(日志采集系统)