【干货】借鉴开源框架自研日志收集系统

本文介绍了岂安科技在面对日志统一收集管理需求时,从Logstash和Flume等开源日志收集系统出发,最终选择自研基于Java的Bloodhound系统的原因和过程。Bloodhound具有多任务管理、强扩展性和高性能的特点,并且能够满足监控和统计需求。项目架构包括源、通道和接收器三个层次,以及任务管理器,以实现高效、稳定的数据收集。
摘要由CSDN通过智能技术生成

踏浪无痕     岂安科技高级架构师 


十余年数据研发经验,擅长数据处理领域工作,如爬虫、搜索引擎、大数据应用高并发等。担任过架构师,研发经理等岗位。曾主导开发过大型爬虫,搜索引擎及大数据广告DMP系统目前负责岂安科技数据平台开发与搭建。




项目背景


公司项目需要将分布在多台机器中的日志统一收集管理。笔者先后使用logstash,flume等开源项目。并最终自研一套基于Java语言的日志收集系统 Bloodhound。以下从项目关注的角度对开源系统与自研进行分析。



1 开源日志收集系统特征


Logstash 和 Flume 都是很成熟的日志收集平台,结构清晰,插件丰富,文档简明易懂,示例代码非常多。其中Logstash 侧重对字段的预处理,Flume 侧重不同的网络拓扑中日志的传递,通过Agent打通各个网络结点。



2 关于日志收集系统的考量


  开发语言的选择


公司的开发团队主要集中在 Java,Python。而 Logstash 的插件使用 Ruby,从团队角度,不太具备扩展性。在使用 logstash 增加一个插件比较痛苦,同时几个月使用下来,感觉性能偏低,启动时较慢。 


性能的考虑


 Flume性能相对比较低,主要有以下几点:


① 单线程。

Flume 每个 Agent 分为 source,channel,sink 等插件。每个插件都只启用单线程处理。如果任务是写数据库等 IO 操作,性能必然会被拖累。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值