使用 Scribe 来监控大型网络系统

每个大型系统都需要一个完备的监控体系,比如大宝(sodme)近期就在他的关于网游服务器运营的一些基础设施 中提到

一个正规的,商业的网游服务器,我想,最起码具备以下几方面的基础设施:

1.程序内的性能,安全,内存等的监控体系.
这套体系,不仅仅包括了日志记录,也包括了故障定位,紧急报警等相应的运营支持……


我在几个月前整理 google talk server 架构介绍 中也有类似描述。

7. 在服务器增加profile/monitor机制,包括配置文件,资源状况, 日志, 可以做离线分析。
这样某个服务器发现问题,首先去看 monitor console
profile/monitor不是侵入式的,不是通过在服务器程序嵌入代码实现。


大型系统通常有多台服务器组成,所以监控体系通常是分布式汇报,统一处理,而不用人工去每台服务器查看一下。而这个“分布式汇报,统一处理”的流程目前业界并没有非常成熟的工具来自动完成。而最近发现 facebook 开源的 Scribe 已经实现了这个功能,由于 facebook 每天要 log 上百亿条级别的信息(也就是每秒log上百万条的信息!),因此它对于这样一个工具的需求比其他公司更为强烈,也没有其他现成的产品能够满足它这种疯狂的需求,因此它只好自己做了一个。

Scribe 对于中心服务器没有high availability的依赖,当中心服务器不可用时候,所有的信息是log在本地,当中心服务器可用之后,本地保存的信息又会同步到服务器上。

Scribe 本身是由 non-blocking C++ 实现,由于它用的是 facebook 另外一个 Thrift 框架, Thrift 在我的理解就是一个高效的跨语言 rpc 框架。所以它可以支持通过 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml 给服务器汇报。但Scribe下载后的包本身带的例子和配置基本上都是 Python 的。其他语言怎么调用可能还需要自行摸索一下。

Thrift 是优点,但毕竟还是要下一步花时间熟悉一下才会使用。如果 Scribe 是 RESTful 的话,我想我的Scribe系统已经可以跑起来了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值