scribe的生产实践总结
一、scribe是什么
scribe是facebook开源的分布式日志系统。这里两年前的使用手记。http://www.54chen.com/_linux_/log-server-scribe-helper.html。严格说它只是一个日志处理的节点,与分布式系统相比差很多复杂的节点间的控制过程。不过也贵在它很精简,不容易出现问题。两年多时间以后,线上还没出现过一例scribed自己crash掉的情况。
二、scribe遇到master挂掉
生产环境中一般配置为一个primary(type=network)带一个secondary(type=file),在遇到master挂掉的情况下,会直接写到本地磁盘。
这个设置有非常多好处,当远程的master恢复了,本地磁盘的这些个日志还会被scribe给送回去。
日常要监控这个事情的发生也很简单,一行脚本就可以:
ALERT=`du -sb /tmp/scribe/|awk '{print $1}'`
if [ ${ALERT} -ge 1024000 ]; then
//alert
fi
三、scribe自己挂掉
scribe自己挂掉要预防把业务堵死了,一定要用异步线程在写这个日志,如果本地的scribed挂了,那端口一定不在了,在new thrift连接的时候就会失败,可以在这个异步线程中去设定多久再重试,但这就是有损日志的了。
日常监控一般可以直接看端口还在不在,不过一般不会挂(两年多还没见过)。
比较文艺的做法可以用他给的ctrl.sh那个python脚本去读取scribed内部的perfcounter来报警。
四、scribe遇到master没挂但是网络不好
这个比较难受,网络一堵,很多天都追不上来。而且会出现恶性循环。所以还是要网络给力,最差要能传输不滞留日志。
我米高人航军大侠搞了一个压缩过的传输scribed改造,还没试用,理论上数据量降了应该有一定缓解。
五、scribe与kafka对比
kafka是linkedin开源的一个日志分发系统,scala的,很牛B的一个系统,以cluster、去中心化、高效为特点,比起scribed来说,kafka是航空母舰,scribed是激流勇进那种冲锋舟,各有各的好处。
从日志收集的需求来看,如果遇到前面4点的故障的话,使用kafka的话,要做的事情还不少。但如果出现中心化的故障的话,还是kafka不怕down机。
想快点找到作者也可以到Twitter上留言: @54chen
或者你懒得带梯子上墙,请到新浪微博:@54chen
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:54chen 来源: 五四陈科学院-坚信科学,分享技术
- 标签: scribe
- 发布时间:2013-07-08 22:49:01
- [65] Oracle MTS模式下 进程地址与会话信
- [65] Go Reflect 性能
- [64] 如何拿下简短的域名
- [59] android 开发入门
- [59] IOS安全–浅谈关于IOS加固的几种方法
- [58] 图书馆的世界纪录
- [58] 【社会化设计】自我(self)部分――欢迎区
- [53] 视觉调整-设计师 vs. 逻辑
- [47] 界面设计速成
- [46] 读书笔记-壹百度:百度十年千倍的29条法则