想搞服务拆分,日志系统现在一般大厂是怎么做的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
LeeReamond
V2EX    Python

想搞服务拆分,日志系统现在一般大厂是怎么做的?

  •  
  •   LeeReamond 2024-05-24 14:11:52 +08:00 2667 次点击
    这是一个创建于 509 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前没啥经验,Python 现在,日志这部分如果想搞个大粒度的拆分,不知道是咋搞的,大厂也是单个项目内所有日志统一进 ES ?

    寻思了一下,对日志好像没啥太细致的分析需求。大概就是能把握一下整体的网关信息,比如某时刻有多少个 Get ,多少个 Post 之类的,各个路由的访问率之类的。如果出问题要能看到完整 debug 信息,要能具体按时间查询日志,大概就这些需求。

    Python 现在有什么比较成熟的解决方案吗?还是学着用 ELK ?感觉有点重就是。。。
    12 条回复    2024-05-25 13:01:44 +08:00
    cndenis
        1
    cndenis  
       2024-05-24 14:16:13 +08:00
    日志直接写硬盘, 部署日志同步程序上传到日志系统, 比如 ELK, 阿里云 SLS 之类
    seedhk
        2
    seedhk  
       2024-05-24 14:16:45 +08:00
    只是单纯的接口信息的话,前面接个 nginx ,nginx 来统计,日志记下来后接 ELK 分析查询
    yyttrr
        3
    yyttrr  
       2024-05-24 14:18:34 +08:00   1
    一般分三种,gateway 日志,业务日志,运行时日志
    vicalloy
        4
    vicalloy  
       2024-05-24 14:18:51 +08:00
    日志管理和具体语言没多大关系。
    配置一个 SysLogHandler 的 handle ,将日志发给 syslog ,由 syslog 做多服务器的日志汇总。
    如果要便于查询可以加个 Loki 。
    wxw752
        5
    wxw752  
       2024-05-24 14:20:41 +08:00
    之前问过朋友是解耦的,用 EFLK
    zshineee
        6
    zshineee  
       2024-05-24 14:23:06 +08:00
    @cndenis 写硬盘对性能影响大吗?比如说网关记录接口调用的日志,如果接口调用频繁,也是直接写硬盘吗?
    zsj1029
        7
    zsj1029  
       2024-05-24 14:23:19 +08:00
    参看腾讯云的服务,都是独立收费服务,每个都可以看做组件,看看他们划分就行了
    cndenis
        8
    cndenis  
       2024-05-24 14:51:42 +08:00
    @zshineee 写硬盘是依赖最小的, 万一你的日志服务挂了也不至于直接崩掉业务.

    你会在这里问这个问题的话, 估计业务量也大不到单纯日志就能写到硬盘性能不够的程度

    网关可以用专门的网关, 比如 nginx, apisix, 或是云上的负载均衡服务之类, 它们都有标准化的日志.
    cheng6563
        9
    cheng6563  
       2024-05-24 14:58:03 +08:00
    现在完善的开源方案应该就仨:
    el(f)k: 功能全面,非常重
    loki: 省资源,但他的 webui 是 grafana ,grafana 感觉用来看个图表还行,用来查日志太蛋疼了。
    openobserve: 省资源,查日志也挺不错,我司现在就在用


    然后日志最好还是写盘,然后用采集器收集,而不是直接传到日志服务去.
    Fooooo0
        10
    Fooooo0  
       2024-05-24 15:02:19 +08:00
    @cheng6563 你们 openobserve 多少数据量?根据我们的测试来看,openobserve 在大数据量的情况下性能严重不行
    LeeReamond
        11
    LeeReamond  
    OP
       2024-05-25 01:09:33 +08:00
    @cheng6563 听起来确实很合理,具体操作上有什么外部附加的采集工具吗?如果要先写盘,然后再通过推流的方式追加到某种数据存储,我想了一圈似乎只有`tail -f`适合用来把文档再转成流,自己写的话不太会处理截取,效率方面也不好说。。

    其实现在想是不是不用搞专门的存储,需要分析的时候跑个现读现分析的软件是不是也行。。。因为毕竟像网关追踪这种都有专门工具,也没必要非得依赖日志
    cheng6563
        12
    cheng6563  
       2024-05-25 13:01:44 +08:00
    @LeeReamond 采集器多的很,vector.dev, fluent bit, 甚至 filebeat 都可以
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1117 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 17:47 PVG 01:47 LAX 10:47 JFK 13:47
    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