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 · 29 天前 · 1408 次点击
    以前没啥经验,Python 现在,日志这部分如果想搞个大粒度的拆分,不知道是咋搞的,大厂也是单个项目内所有日志统一进 ES ?

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

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

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

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


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

    其实现在想是不是不用搞专门的存储,需要分析的时候跑个现读现分析的软件是不是也行。。。因为毕竟像网关追踪这种都有专门工具,也没必要非得依赖日志
    cheng6563
        12
    cheng6563  
       29 天前
    @LeeReamond 采集器多的很,vector.dev, fluent bit, 甚至 filebeat 都可以
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2329 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 05:48 · PVG 13:48 · LAX 22:48 · JFK 01:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.