Implement of Logging Server - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
yueyoum
V2EX    程序员

Implement of Logging Server

  •  
  •   yueyoum
    yueyoum 2014-04-24 18:25:33 +08:00 3223 次点击
    这是一个创建于 4257 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在一个分布式系统中,有很多节点,这些节点跑的代码都是一样的。
    为了能集中收集日志,所以需要实现一个 集中式的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很懒啊……

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

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

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

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

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

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

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

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

    好的,感谢建议。 我去研究下, 不过感觉很高大上的样子。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2717 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 02:30 PVG 10:30 LAX 18:30 JFK 21:30
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86