日志收集方案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

缺点:
商业支持不对开源社区开放
Flume NG
Apache 旗下 开源日志系统 内置丰富组件,基本不用开发 高可靠性,高可扩展性,可管理性 java编写
Flume NG
架构
Flume NG
与OG不同:
高可靠,end-to-end模式 摒弃了Master,zookeeper,controller等 纯agent(source+channel+sink)模式
Flume OG
cloudera的开源日志系统 内置丰富组件,基本不用开发 高可靠性,高可扩展性,可管理性 java编写
Flume OG
架构
Flume OG
优点:
高可靠,agent,collector,store之间具有容错机制,提供3种策略 通过zookeeper提供负载 agent,collector非常丰富 支持hdfs 有商业应用使用


Flume NG

$ telnet localhost 44444 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. Hello world! <ENTER> OK
Log收集分析平台
需求
Log收集
分布式application log 即时log 数量多,平均每条log不会太大(以后可能有流式日志)
Log分析
log合并(多条相同log去重) log析取(分析重要log信息)
Log近实时查询
方案
Scribe Chukwa Flume 自选
Scribe
facebook开源的日志收集系统
Chukwa
hadoop系统产品 非常灵活,动态控制数据源 高性能,高可扩展性 分布式数据收集,快速处理 java编写
Chukwa
架构
Chukwa
优点:
agent定期记录已发送数据来提供容错
和hadoop集成好,自带很多基于hadoop的组件 扩展性好
缺点:
无负载 版本太新 据我所知,无商业应用采用

a1.channels = c1

# Describe/configure the source a1.sources.r1.type = netcat a1.sources.r1.bind = localhost a1.sources.r1.port = 44444
Flume NG




# Describe the sink a1.sinks.k1.type = logger
批准阶段:
3.
当一个 proposor 收到了多数 acceptors 对 prepare 的回复后,就进入批准阶段。它要向回 复 prepare 请求的 acceptors 发送 accept 请求。 在不违背自己向其他 proposer 的承诺的前提下,acceptor 收到 accept 请求后即批准这个 请求。
ZooKeeper
Zookeeper server角色
领导者(Leader) : 领导者不接受client的请求,负责进行投票的发起 和决议,最终更新状态。 跟随者(Follower): Follower用于接收客户请求并返回客户结果。 参与Leader发起的投票。 观察者(observer): Oberserver可以接收客户端连接,将写请求转 发给leader节点。但是Observer不参加投票过程,只是同步leader的 状态。Observer为系统扩展提供了一种方法。 学习者 ( Learner ) : 和leader进行状态同步的server统称Learner,上 述Follower和Observer都是Learner。
集成难易性
Flume和Chukwa集成简单,scribe环境依赖性强
负载均衡
都不原生支持,Flume可通过zookeeper支持
可控性
自选方案最好
结论
总体评价:Flume最好
ZooKeeper
ZooKeeper是一个开源分布式的服务,它提供了分布式协作,分布式同步, 配置管理等功能。
为分布式应用系统服务 主要提供全局同步、配置管理维护和分组命名服务
Watch: client 通过设置watch来监听事件
ZooKeeper
Paxos算法:
prepare 阶段:
1. 2.
proposer 选择一个提案编号 n 并将 prepare 请求发送给 acceptors 中的一个多数派; acceptor 收到 prepare 消息后,如果提案的编号大于它已经回复的所有 prepare 消息,则 acceptor 将自己上次的批准回复给 proposer,并承诺不再批准小于 n 的提案;





自选方案
Application1 Agent Conguration 近结构化数据
Application2 Agent
Collector
Application3 Agent
Collector
DB Hadoop NoSql
Console
Search
Analizer
Analizer
Merger Local cache
4.
Thank you!
大量应用在facebook里
从各种日志源收集日志,存储到中央存储系统
可扩展,高容错的方案
C++编写
基于thrift
ຫໍສະໝຸດ Baidu Scribe
架构
Scribe
优点:
容错(只是collector和store之间) 支持hdfs 设计简单,易于使用 扩展性好 基于thrift,集成性好
缺点:
agent和collector之间没有容错 无负载 基于thrift,依赖复杂,环境侵入性强 资料少
Composer
Ftp Rsync
Merger
Local cache
Processor
自选方案
优点:
结构简单
可控性强
可根据需求定制化
缺点:
开发成本高 性能,可靠性,可扩展性等需要长期积累
方案比较
可靠性
Flume容错性最好,Chukwa次之
可扩展性
都很好。对于协议扩展性,scribe最好
开发成本
Flume和Chukwa相对来说简单


# Use a channel which buffers events in memory a1.channels.c1.type = memory a1.channels.c1.capacity = 1000 a1.channels.c1.transactionCapacity = 100

相关文档
最新文档