我想把多台机器上同一个服务的日志进行合并, 有什么好用的工具么 - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
jdz

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

  •  
  •   jdz Aug 28, 2024 2996 views
    This topic created in 623 days ago, the information mentioned may be changed or developed.

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

    16 replies    2024-08-29 11:33:07 +08:00
    summerLast
        1
    summerLast  
       Aug 28, 2024
    elk
    xnplus
        2
    xnplus  
       Aug 28, 2024
    syslogd
    tgcdz
        3
    tgcdz  
       Aug 28, 2024
    Jemini
        4
    Jemini  
       Aug 28, 2024
    elk ,loki
    0x5c0f
        5
    0x5c0f  
       Aug 28, 2024
    如果不需要进行行合并,在 linux 下,你可以直接用 cat 合并为一个文件,然后 sort 命令排个序就行了,不过还是建议导入到 loki 这种日志系统里面在进行分析
    akin520
        6
    akin520  
       Aug 28, 2024
    rsyslog
    lx0758
        7
    lx0758  
       Aug 28, 2024
    公司用 elk, 自己用 loki
    amazingZL
        8
    amazingZL  
       Aug 28, 2024
    分布式日志手机,还是上报到日志系统来弄方便,查日志也方便
    tf2
        9
    tf2  
       Aug 28, 2024
    公司用 e+k 。 用 https://vector.dev/ 代替 l
    vacuitym
        10
    vacuitym  
       Aug 28, 2024
    promtail + loki + grafana
    小项目十分友好
    onesixthree
        11
    onesixthree  
       Aug 28, 2024
    1 、汇总到一起如果是容器可以挂载共享盘,多个文件汇总到一个目录下,然后用工具合并这些文件,例如
    @tgcdz
    2 、也可以使用 filebeat 等工具采集发送到队列,在汇总的地方进行消费重写到一个文件
    3 、容器内采用 EFS ,多个容器写入一个文件(共享写没实验过,不知道会不会冲突)
    Kaiv2
        12
    Kaiv2  
       Aug 28, 2024
    如果感觉 ELK 太重,quickwit + vector 也不错
    目前我用于收集一下系统日志,quickwit 可以简单的查询
    jdz
        13
    jdz  
    OP
       Aug 28, 2024
    @onesixthree 能根据每条日志的时间进行排序么
    ShineyWang
        14
    ShineyWang  
       Aug 28, 2024 via Android
    https://datalust.co/seq
    不需要多复杂的日志中心可以试试 seq
    支持基本的查询,过滤,
    xuanbg
        15
    xuanbg  
       Aug 28, 2024
    elk ,简单好用
    wxf666
        16
    wxf666  
       Aug 29, 2024
    一个 `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
    ```
    About     Help     Advertise     Blog     API     FAQ     Solana     1219 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 55ms UTC 23:37 PVG 07:37 LAX 16:37 JFK 19:37
    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