有人在生产环境, 使用 systemd 下的 journal 日志管理工具么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
DinoStray
V2EX    程序员

有人在生产环境, 使用 systemd 下的 journal 日志管理工具么?

 2  
  •   DinoStray 2020-12-10 12:02:43 +08:00 3235 次点击
    这是一个创建于 1768 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天 journalctl 把生产环境搞爆了.
    因为用它查看日志的时候, 直接输入了 -G, 从日志头部直接浏览到尾部.
    导致 journal 需要从头到尾解析十几个 G 的二进制日志数据, 然后内存 CPU 都爆了, 服务器直接挂掉.
    现在觉得 journal 好危险, 虽然今天的故障可以通过加入参数, 减少查询范围解决, 但是搞不好以后还会复现今天的问题.
    虽然在使用 journal 的过程遇到各种问题, 一直都觉得是我们没学习到位, 需要深入研究, 一直坚持了下来, 但今天这个故障让我没有信心坚持用这个了.

    第 1 条附言    2020-12-10 16:10:20 +08:00
    @pigmen 嗯, 一直觉得我们使用上有点问题, 也在 Stack Overflow 之类的论坛发过帖子求助, 网上 journal 相关的帖子也都看了. 至今没有琢磨出一套最佳实践. 还是 2 个人一起研究的, 花了很多时间精力, 惭愧.
    因为日志量比较大, 经常还需要分析几天的日志. 所以目前生产环境的配置是:

    SystemMaxUse=20G
    SystemKeepFree=10G

    通过磁盘相关参数限制日志数量

    每次查询日志用的命令是:
    journalctl CONTAINER_NAME=docker_name

    问题是:
    这个命令, 每次都是从头解析全部日志, 虽然使用 --since "1 hour ago" 这种方式可以减少日志解析的量, 但是如果忘记加就会复现今天的故障.
    第 2 条附言    2020-12-10 16:14:38 +08:00
    @shyling 惭愧, 就知道这个帖子发出去会被喷.
    现在我们不知道, 在 journal 默认保存很多日志的情况下, 要怎么简单的查询日志了,.
    毕竟很难做到以后其他同事, 不会复现今天的操作
    第 3 条附言    2020-12-10 16:16:31 +08:00
    @masker 如果用之前的方式, 日志直接落地到本地磁盘, 我会采用切分多个文件的方式, 基本可以避免今天的故障. 可是用 journal, 因为不清楚怎么样做默认的切割, 所以不知道该怎么避免以后一个新人来了, 不会重复今天的操作, 再次导致故障
    第 4 条附言    2020-12-10 16:24:32 +08:00
    我想如果继续在生产环境用 journal, 有个前提, 就是通过某种设置, 能彻底避免今天的故障.
    或者说以后有新同事来了, 不会在不知情的情况下, 再次触发今天的故障.

    如果不用 journal, 日志直接落地磁盘, 我把单个日志文件的大小限制下就 ok 了.
    journal 要怎么做, 有什么设置, 可以彻底避免这次的故障呢
    19 条回复    2020-12-10 20:20:28 +08:00
    NilChan
        1
    NilChan  
       2020-12-10 12:05:09 +08:00   1
    学习了。。。
    pigmen
        2
    pigmen  
       2020-12-10 12:08:55 +08:00 via iPhone
    这是用错了导致的 不能说 journal 好危险 照你这么说 rm -rf 岂不是更危险?
    m4d3bug
        3
    m4d3bug  
       2020-12-10 12:12:27 +08:00 via Android
    指定服务名是好习惯
    AstroProfundis
        4
    AstroProfundis  
       2020-12-10 12:16:14 +08:00
    那 grep 甚至 vim 一个十多 G 的 /var/log/xxx.log 不也一样?
    tin3w5
        5
    tin3w5  
       2020-12-10 12:24:00 +08:00
    想起了大学的时候拿到了一台流量很高的 web 服务器权限,用 vim 删日志的时候直接把服务器卡死的境。
    shyling
        6
    shyling  
       2020-12-10 13:05:02 +08:00
    。。。人的问题,你 vim 一个大文本也会挂,难道说没有信心用 vim 了?
    lvzhiqiang
        7
    lvzhiqiang  
       2020-12-10 13:07:50 +08:00
    查看线上日志一定要先看看 应用的负载情况,任何文本方式的“全部”查询都会占用服务器资源,这个和你用什么工具是没有关系的。推荐使用部分查看或者导出到空闲服务器查看。
    kokodayo
        8
    kokodayo  
       2020-12-10 13:08:34 +08:00
    -n 限定行数,比如-n100 就只会抓取最后 100 行
    masker
        9
    masker  
       2020-12-10 13:11:33 +08:00 via Android
    man 一下都不会?又怪工具?
    itechify
        10
    itechify  
    PRO
       2020-12-10 13:14:16 +08:00 via Android
    习惯每次看日志都 du -h 看下多大
    jhdxr
        11
    jhdxr  
       2020-12-10 13:27:23 +08:00
    这么看来突然觉得 emeditor 很良心,大文件自动进行部分加载。。。
    nikolai
        12
    nikolai  
       2020-12-10 13:36:14 +08:00
    每月都定时 vacuum 一次,没这烦恼(手动 doge
    shingle
        13
    shingle  
       2020-12-10 13:54:42 +08:00
    可以配置 log 文件最大的大小啊,超过会自动切分。查看的时候只看实时记录的那个文件就好了
    DinoStray
        14
    DinoStray  
    OP
       2020-12-10 16:18:11 +08:00
    @shingle 日志直接落到本地磁盘, 我都是这样做的, 限制单个文件的大小. 用了 journal 就不知道该怎么搞了
    echowuhao
        15
    echowuhao  
       2020-12-10 16:21:05 +08:00
    之前,vps 空间都不足,我也没干啥,仔细一看,这个 log 几十 G 。

    systemd 这个默认的设置绝对是有问题的。

    不是自己学习不好怪工具,而是你工具的有个默认最合适的配置。 用 linux 这么多年,这个配置让我觉得扯淡的。
    Cooky
        16
    Cooky  
       2020-12-10 16:21:13 +08:00 via Android
    systemd 一整套缺文档小毛病也不修,不想踩坑就换个日志 deamon 吧
    reasonsyh
        17
    reasonsyh  
       2020-12-10 19:55:20 +08:00
    alias 设置一下
    chenqh
        18
    chenqh  
       2020-12-10 20:07:07 +08:00
    感觉还是老老实实 supervisord 吧
    chenxytw
        19
    chenxytw  
       2020-12-10 20:20:28 +08:00
    生产环境上根本不会保存超过一定数量的日志.....
    古老日志全部异步写到专门的日志集群里了...
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6140 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 45ms UTC 02:25 PVG 10:25 LAX 19:25 JFK 22:25
    Do have faith in what you're doing.
    ubao 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