您的位置:首页 > 运维架构 > 网站架构

日志收集分析系统架构

2015-02-23 16:09 225 查看
日志收集分析系统架构

一.部署架构
日志收集系统一般包括如图所示三层。Web服务器层,日志收集层,日志存储层。Web服务器层是日志的来源,一般部署web应用供用户访问,产生日志,该节点上一般需要部署日志收集程序的agent。日志收集层手机web服务器产生的日志传输给日志存储层,存储层一般使用分布式文件系统HDFS,日志可以存储在hdfs上或者hbase上。



以scribe作为日志收集系统架构,scribe分为scribe agent和scribe server



以kafka作为日志收集系统架构,kafka分为:producer,kafka server,consumer



以flume作为日志收集系统的架构



三种日志收集服务对比
Scribe
Kafka
Flume
开源公司
Facebook
Linkedin
Cloudera
开源时间
08年10月
10年12月
09年7月
实现语言
C/C++
SCALA
JAVA
框架
Push/push
Push/pull
Push/push
容错性
Collector和store之间有容错机制,而agent和collector之间的容错机制需要用户自己来实现
Agent可通过自动识别机制获取可用的collector。Store自己保存已经获取数据的偏移量,一旦collector出现故障可根据偏移量继续获取数据,
Agent和collector,collector和store之间均有容错机制,并且提供了三种级别的可容错性保证。
负载均衡

Zookeeper
Zookeeper
可扩展性



Agent
Thrift
用户根据kafka提供的low-level和high-level api自己实现
提供了各种丰富的agent
Collector
实际上是一个thrift server
直接支持hdfs
直接支持hdfs
Store
直接支持hdfs
直接支持hdfs
直接支持hdfs
总体评价
设计简单,易于使用,但容错和负载均衡方面不够好。且资料较少
采用push/pull架构,可以重复获取数据,但是产品较新,稳定性需要验证
Very good
2. 日志分析常使用的计算框架
离线计算:mapreduce,hive,pig
近实时计算:spark,impala
实时计算:storm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: