各位架构师,服务调用链路上某个服务报错怎么排查? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
abc9999
V2EX    程序员

各位架构师,服务调用链路上某个服务报错怎么排查?

  •  1
     
  •   abc9999 2023-10-24 08:25:12 +08:00 3147 次点击
    这是一个创建于 787 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务 A 调用服务 B ,服务 B 再调用服务 C...,整个链路上如果某个服务报错,怎么排查?
    如何确定是哪个服务报错?
    如果是 B 报错,如何查看 A 传递给 B 的参数?如果 B 有多个副本,怎么知道是哪个副本抛异常?
    18 条回复    2023-10-24 11:30:11 +08:00
    twofox
        1
    twofox  
       2023-10-24 08:29:10 +08:00
    你需要一个分布式链路追踪组件
    Java 有 Skywalking 或者是 es 的 apm
    abc9999
        2
    abc9999  
    OP
       2023-10-24 08:38:01 +08:00
    @twofox 只用过 sleuth+zipkin ,但是它看不到是服务的哪个副本报错,Skywalking 可以做到吗?
    twofox
        3
    twofox  
       2023-10-24 08:45:17 +08:00
    @abc9999 skywalking 我都没怎么用过,但我记得 elastic apm 是可以的
    xuanbg
        4
    xuanbg  
       2023-10-24 08:46:10 +08:00
    你没有日志的么?哪个服务的哪个类里的哪个方法抛异常在日志里都能看得到啊。如果只需要定位异常,这就够了。但有时候异常是上游数据引发的,那就需要链路追踪,通过一个 requestId 把一串调用日志串起来看。这个可以使用第三方的成熟产品,也可以自己一路传 requestId ,打日志的时候一起打出来就行。
    xwayway
        5
    xwayway  
       2023-10-24 08:47:29 +08:00
    @abc9999 统一日志看不到 host 的么?
    overthemoon
        6
    overthemoon  
       2023-10-24 08:48:51 +08:00
    elk
    jtwor
        7
    jtwor  
       2023-10-24 08:51:31 +08:00
    skywalking 能做到,就是个链路追踪。不理解为什么要确认是哪个副本,既然都报错了,在那个副本执行都应该报错把。
    crazywind
        8
    crazywind  
       2023-10-24 08:54:31 +08:00
    zipkin 是可以看到调用链路的吧
    abc9999
        9
    abc9999  
    OP
       2023-10-24 09:06:05 +08:00
    @xuanbg 公司没用过,就是一些想法而已,你的意思大概明白了,需要依靠链路日志,我自己搭个环境再看看,感谢
    abc9999
        10
    abc9999  
    OP
       2023-10-24 09:06:35 +08:00
    @xwayway 刚看了下,可以看到 ip ,以前没注意到这点,感谢
    abc9999
        11
    abc9999  
    OP
       2023-10-24 09:07:07 +08:00
    @crazywind 可以看到链路上的每台机器 ip ,之前没注意,感谢
    datoujiejie221
        12
    datoujiejie221  
       2023-10-24 09:07:34 +08:00
    如果看日志的话,按 opentrace 那套标准打印 log ,elk 做采集分析就可以,我们现在采集的时候是把 k8s 的 podname 加上的
    skywalking 可以定位到示例,但是我们用主要是用到指标的监控,快速定位哪个服务拖慢了速度
    abc9999
        13
    abc9999  
    OP
       2023-10-24 09:08:40 +08:00
    @jtwor 是的,一般是因为上游数据有问题,跟哪个副本没关系
    8355
        14
    8355  
       2023-10-24 09:14:29 +08:00
    微服务->全链路 -> 网关->防雪崩
    dif
        15
    dif  
       2023-10-24 09:14:58 +08:00
    可以装个 pinpoint ,或者其他什么 apm 的东西
    coderxy
        16
    coderxy  
       2023-10-24 09:15:14 +08:00
    链路追踪 一看就知道哪里报的错
    tanxnative
        17
    tanxnative  
       2023-10-24 09:17:25 +08:00   1
    opentelemetry
    snb9
        18
    snb9  
       2023-10-24 11:30:11 +08:00
    sleuth + elk ( filebeat 收集)可以准确跟踪到机器,skywalking 辅助使用。单 skywalking 长链路查找有点麻烦
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3783 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 00:56 PVG 08:56 LAX 16:56 JFK 19:56
    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