Facebook分布式日志收集框架:Scribe

Scribe是用来收集日志的服务器.它具备很强的扩展能力,并且网络故障及服务器节点故障,都不会对日志收集造成影响.大规模集群系统中每个节点上都运行了一个Scribe服务,这个Scribe服务器可以收集信息然后将信息发送到一个中央Scribe服务器(也可以是多个中央Scribe服务器)如果中央Scribe服务器(或中央服务器组)出现故障不可用的话,各个节点的Scibe服务器就会将日志信息写到本地磁盘待中央Scribe服务器恢复正常时再发送.中央Scribe服务器会将这些信息写文件保存到最终的磁盘地址,一般是nfs文件系统或者一个分布式文件系统中,有时也会把这些日志文件传输到其他层的Scribe服务器组中.

Scribe的独特之处是客户端日志实例包含两个字符串:类别和信息(a category and a message).类别(category)是对预期目标信息的高层次描述,可以在Scribe服务器中进行配置,这样就允许我们可以通过更改配置文件的方式转移数据而不需要更改代码.Scribe服务器也允许基于类别前缀(category prefix)进行配置,缺省状态下可以在文件路径中插入类别名称.灵活性和可扩展性,可通过“存储(store)“抽象.Stores可以通过一个配置文件静态配置,也可以在运行时无需停止服务器进行更改.

Scribe是对一个使用非阻断C++服务器的thrift服务的实现.Facebook在上千台服务器上运行了Scribe服务,每天收集传输数十亿的信息.

详情:https://github.com/facebook/scribe

anyShare分享此文章的同学,将有机会送我iphone5!
          

无觅相关文章插件,快速提升流量

分类 未分类 · tag ,