日志收集项目
1 项目背景
每个业务系统都有日志,当系统出现问题时,需要通过日志信息定位和解决问题。当系统机器比较少时,登录到服务器上查看即可。当系统机器规模巨大,登录到机器上查看⼏乎不现实(分布式的系 统,⼀个系统部署在十几台机器上)。
2 解决方案
把机器上的⽇志实时收集,统⼀的存储到中⼼系统。 在对这些⽇志建⽴索引,通过搜索即可快速找到对 应的⽇志记录 通过提供⼀个界⾯友好的web⻚⾯实现⽇志检索与展示。
3 面临的问题
实时⽇质量⾮常⼤,每天处理几十亿条。 ⽇志准实时收集,延迟控制在分钟级别。 能够⽀持水平扩 展。
4 架构设计
- LogAgent:⽇志收集客户端,⽤来收集服务器上的日志
- Kafka:⾼吞吐量的分布式队列
- ElasticSearch:开源的搜索引擎,提供基于HTTP RESTful的web接口
- Kibaba:开源的ES数据分析和可视化⼯具
- Hadoop:分布式计算框架,能够对⼤量数据进行分布式处理的平台
- Storm:⼀个免费并开源的分布式实时计算系统