Implement of Logging Server

2014-04-24 18:25:33 +08:00
 yueyoum
在一个分布式系统中,有很多节点,这些节点跑的代码都是一样的。
为了能集中收集日志,所以需要实现一个 集中式的logging server

是的,我知道 https://github.com/getsentry/sentry
但感觉自己需求简单,也没太多时间研究sentry,
并且 现在的系统是基于python的, 写日志通过logging模块
所以只要实现一个自己 Handler, 把收到的 record emit 到 logging server 即可。
代码改动很少。
随想自己实现一个能满足需求的即可


现在想到的思路:
logger server 无关紧要,挂了也就挂了。
终端向这个logging server 发送数据的时候 不能是阻塞式的,以免影响终端性能。

所以,打算用 zeromq, pub sub 模式, 终端 pub , logging server sub。

把收到的日志写入mysql, 然后再做一个web界面,提供日志展示和分析。

但做web界面有点消耗时间,LZ很懒啊……

大家对此有和看法和建议?
2971 次点击
所在节点    程序员
14 条回复
yangff
2014-04-24 18:47:04 +08:00
不用数据库,弄个file list下载回本地看就行了。可以按照时间分个片。。
ihacku
2014-04-24 18:59:41 +08:00
ihacku
2014-04-24 19:08:14 +08:00
huoxiaochai
2014-04-24 23:10:41 +08:00
如果你用数据库,这个日志系统注定是小玩具,还不如用用elasticsearch,日志记录和收集可以考虑syslog-ng,flume,kafka
yueyoum
2014-04-25 09:58:31 +08:00
@ihacku

恩,打算研究下 fluentd
yueyoum
2014-04-25 09:58:39 +08:00
@ihacku thanks
yueyoum
2014-04-25 10:00:59 +08:00
@huoxiaochai

没明白你的意思, 关于日志系统我了解的不多,但上面提到的sentry 就用了关系型数据库啊。
也是小玩具?
yueyoum
2014-04-25 10:03:23 +08:00
@huoxiaochai

粗略的看了下, fluentd 的 storage 可以用 mongodb 和 riak

还是没明白 用了数据库就是小玩具 的含义……
huoxiaochai
2014-04-25 11:10:29 +08:00
@yueyoum 看你的日志量吧,我们一天200来个G,你用数据库体会一下? riak也还凑合毕竟可以集群扩容,Mongodb的话,做做最终展示的存储也可以,如果是存储原生日志,也只能祝你好运了
yueyoum
2014-04-25 12:05:19 +08:00
@huoxiaochai
我相信 如果我的系统 一天可以产生2G 的日志,(不是请求日志,是关键信息日志)。 那么我就有足够的钱请人来帮我做这个事情了。

我想 应该没有人直接把 终端发来的 string 格式的日志,不做拆分,直接插入数据库吧。

还有能否请教一下, 你们是如何处理一天200G日志的?
yueyoum
2014-04-25 12:08:39 +08:00
@huoxiaochai

请原谅我 咬文嚼字, sentry, fluentd 这些,因为他们用了数据库。
所以 看日志量吧, 大了这些东西都是玩具?
huoxiaochai
2014-04-25 13:17:47 +08:00
@yueyoum 这个在我眼里就是玩具呀,不能用,这个得实际玩起来你就有体会了
huoxiaochai
2014-04-25 13:22:08 +08:00
@yueyoum 就是elasticsearch集群管理这个日志撒,收集是通过syslog-ng和kafka
yueyoum
2014-04-25 13:53:03 +08:00
@huoxiaochai

好的,感谢建议。 我去研究下, 不过感觉很高大上的样子。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/109873

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX