我想把多台机器上同一个服务的日志进行合并, 有什么好用的工具么 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
jdz
V2EX    程序员

我想把多台机器上同一个服务的日志进行合并, 有什么好用的工具么

  • &nbp;
  •   jdz 2024-08-28 15:37:57 +08:00 2557 次点击
    这是一个创建于 410 天前的主题,其中的信息可能已经有所发展或是发生改变。

    日志的格式如下 [08-28 07:36:30 839420] [debug] [16169] [worker.cc:1100] ivyjxj,Foo, timer 我想把合并的日志按前面的时间进行排序

    16 条回复    2024-08-29 11:33:07 +08:00
    summerLast
        1
    summerLast  
       2024-08-28 15:40:13 +08:00
    elk
    xnplus
        2
    xnplus  
       2024-08-28 15:40:34 +08:00
    syslogd
    tgcdz
        3
    tgcdz  
       2024-08-28 15:57:39 +08:00
    Jemini
        4
    Jemini  
       2024-08-28 15:58:23 +08:00
    elk ,loki
    0x5c0f
        5
    0x5c0f  
       2024-08-28 16:06:49 +08:00
    如果不需要进行行合并,在 linux 下,你可以直接用 cat 合并为一个文件,然后 sort 命令排个序就行了,不过还是建议导入到 loki 这种日志系统里面在进行分析
    akin520
        6
    akin520  
       2024-08-28 16:57:41 +08:00
    rsyslog
    lx0758
        7
    lx0758  
       2024-08-28 17:00:37 +08:00
    公司用 elk, 自己用 loki
    amazingZL
        8
    amazingZL  
       2024-08-28 17:01:54 +08:00
    分布式日志手机,还是上报到日志系统来弄方便,查日志也方便
    lambdaq
        9
    lambdaq  
       2024-08-28 17:03:52 +08:00
    公司用 e+k 。 用 https://vector.dev/ 代替 l
    vacuitym
        10
    vacuitym  
       2024-08-28 17:10:01 +08:00
    promtail + loki + grafana
    小项目十分友好
    onesixthree
        11
    onesixthree  
       2024-08-28 17:15:58 +08:00
    1 、汇总到一起如果是容器可以挂载共享盘,多个文件汇总到一个目录下,然后用工具合并这些文件,例如
    @tgcdz
    2 、也可以使用 filebeat 等工具采集发送到队列,在汇总的地方进行消费重写到一个文件
    3 、容器内采用 EFS ,多个容器写入一个文件(共享写没实验过,不知道会不会冲突)
    Kaiv2
        12
    Kaiv2  
       2024-08-28 17:17:07 +08:00
    如果感觉 ELK 太重,quickwit + vector 也不错
    目前我用于收集一下系统日志,quickwit 可以简单的查询
    jdz
        13
    jdz  
    OP
       2024-08-28 19:15:20 +08:00
    @onesixthree 能根据每条日志的时间进行排序么
    ShineyWang
        14
    ShineyWang  
       2024-08-28 21:54:32 +08:00 via Android
    https://datalust.co/seq
    不需要多复杂的日志中心可以试试 seq
    支持基本的查询,过滤,
    xuanbg
        15
    xuanbg  
       2024-08-28 22:09:06 +08:00
    elk ,简单好用
    wxf666
        16
    wxf666  
       2024-08-29 11:33:07 +08:00
    一个 `sort` 命令不就行了嘛。。你的日期部分也满足默认字典序

    里面有个选项:`-m, --merge 归并已排序的文件;不进行排序`

    你可以尝试如下命令(用了 `scp`、`curl` 两种方式,流式远程获取日志文件。远程服务器可以 `python3 -m http.server` 临时开个服务端):

    ```shell
    sort -m 本机日志.log <(curl -s http://远程主机 1IP:服务端口/路径/日志.log) <(scp -O 远程主机 2 用户 @远程主机 2IP:/路径/日志.log /dev/stdout) >合并后日志.log
    ```


    如,`sort -m <(seq 1 4) <(seq 3 6) <(seq 5 8)` 执行效果为:

    ```
    1
    2
    3
    3
    4
    4
    5
    5
    6
    6
    7
    8
    ```
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5555 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 07:21 PVG 15:21 LAX 00:21 JFK 03:21
    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