Git Product home page Git Product logo

Comments (10)

weixiang1862 avatar weixiang1862 commented on September 25, 2024

status 101 是 websocket 协议升级状态码,正常。
arthas-tunnel-server 日志的报错提示没有对应的 arthas client 注册到 tunnel server 上, 先检查下agent的日志。

from skywalking-x-arthas.

fruitfish avatar fruitfish commented on September 25, 2024

image
看了agent的日志,好像也没报错。

from skywalking-x-arthas.

weixiang1862 avatar weixiang1862 commented on September 25, 2024

image 看了agent的日志,好像也没报错。

看agent日志, arthas attach时间超过了5秒。目前前端的逻辑是先调用 start 接口,然后5秒后连接arthas tunnel server,这时agent还没成功启动arthas导致了这个报错:

image

from skywalking-x-arthas.

fruitfish avatar fruitfish commented on September 25, 2024

agent没成功启动arthas,这个要怎么排查了?

好像是请求中的id参数不对(可能是因为arthas没有成功启动,这个id不能使用?
websocket handshake complete, uri: /ws?method=connectArthas&[email protected]
image
我用日志中打印的id,去arthas tunnel server的web页面去请求,也是抛那个异常,页面也没有进入到arthas的控制台页面。

2023-11-01 10:02:09.517  INFO 50150 --- [rver-worker-3-1] c.a.a.t.server.TunnelSocketFrameHandler  : websocket handshake complete, uri: /ws?method=connectArthas&[email protected]
2023-11-01 10:02:09.518  INFO 50150 --- [rver-worker-3-1] c.a.a.t.server.TunnelSocketFrameHandler  : try to connect to arthas agent, id: [email protected]
2023-11-01 10:02:09.518  WARN 50150 --- [rver-worker-3-1] io.netty.channel.DefaultChannelPipeline  : An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.

java.lang.IllegalArgumentException: WebSocket close status code does NOT comply with RFC-6455: 2000
        at io.netty.handler.codec.http.websocketx.CloseWebSocketFrame.requireValidStatusCode(CloseWebSocketFrame.java:202) ~[netty-codec-http-4.1.92.Final.jar!/:4.1.92.Final]
        at io.netty.handler.codec.http.websocketx.CloseWebSocketFrame.<init>(CloseWebSocketFrame.java:69) ~[netty-codec-http-4.1.92.Final.jar!/:4.1.92.Final]
        at com.alibaba.arthas.tunnel.server.TunnelSocketFrameHandler.connectArthas(TunnelSocketFrameHandler.java:219) ~[classes!/:3.7.1]
        at com.alibaba.arthas.tunnel.server.TunnelSocketFrameHandler.userEventTriggered(TunnelSocketFrameHandler.java:71) ~[classes!/:3.7.1]


image

通过手动启动arthas,生成了一个id:HRINFHEF2OY7VVWGAAFK。用这个id去arthas tunnel server的web页面去请求,能够正常显示的
image

image

from skywalking-x-arthas.

weixiang1862 avatar weixiang1862 commented on September 25, 2024

可以适当增加agent服务的部署资源,目前看是启动时间过长,超过了前端设置的5s(当然这是可以优化的点,前端应该等待arthas启动成功并注册到tunnel server上再发起连接,我不熟悉前端,你如果有兴趣,欢迎你提pr)

from skywalking-x-arthas.

fruitfish avatar fruitfish commented on September 25, 2024

前端我也不太懂的。
老师,你说 agent 的日志中显示,arthas attach时间超过了5秒,这个在日志中是怎么看出来的。
另外再请教一下老师,调用了 start 接口后,是不是就启动了arthas;因为5s后还没有启动成功,导致连接arthas tunnel server失败。那arthas被唤起后(通过start 接口),最终是不是应该会启起来的,有方法验证吗?比如进到容器中,有没有方法可以看的;如果是arthas启动失败了,能查看失败的原因吗?感谢老师!

image 看了agent的日志,好像也没报错。

看agent日志, arthas attach时间超过了5秒。目前前端的逻辑是先调用 start 接口,然后5秒后连接arthas tunnel server,这时agent还没成功启动arthas导致了这个报错:

image

from skywalking-x-arthas.

weixiang1862 avatar weixiang1862 commented on September 25, 2024

安装后可以通过arthas tunnel server的管理页面查看agent是否成功注册,如果成功注册,可以认为arthas启动成功,报错是这个5s超时导致的。

image

from skywalking-x-arthas.

fruitfish avatar fruitfish commented on September 25, 2024

我测试了一下,好像只有在连接 tunnel server时指定 --app-name 参数才会在app列表也展示appname。
./as.sh --tunnel-server 'ws://10.1.xxx.xxx:7777/ws' --app-name testso

image

通过skywalking的arthas的页面点击connect后,arthas的管理页面没有显示app的信息,不知道是没指定 --app-name 不显示,还是arthas启动失败了压根没起来。

老师,还有其他方法可以排查吗?

from skywalking-x-arthas.

weixiang1862 avatar weixiang1862 commented on September 25, 2024

我测试了一下,好像只有在连接 tunnel server时指定 --app-name 参数才会在app列表也展示appname。 ./as.sh --tunnel-server 'ws://10.1.xxx.xxx:7777/ws' --app-name testso

image

通过skywalking的arthas的页面点击connect后,arthas的管理页面没有显示app的信息,不知道是没指定 --app-name 不显示,还是arthas启动失败了压根没起来。

老师,还有其他方法可以排查吗?

agent启动arthas时会用skywalking配置的agent name作为app-name参数,从日志看是启动成功了的,我没有其他的排查方向了,可能需要你自己调试下代码。

from skywalking-x-arthas.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.