【arthas系】springboot集成arthas-tunnel server

具体文档参考Arthas Tunnel | arthas

我这里下载版本是arthas-tunnel-server-3.6.3-fatjar.jar

准备arthas-tunnel server端

 java -jar .\arthas-tunnel-server-3.6.3-fatjar.jar

启动完成后,控制台输出

【arthas系】springboot集成arthas-tunnel server_第1张图片

 浏览器访问http://127.0.0.1:8080/

springboot项目注册tunnel-server端

pom文件引入

	
			com.taobao.arthas
			arthas-spring-boot-starter
			3.5.5
		

springboot yml配置文件添加

arthas:
  tunnel-server: ws://127.0.0.1:7777/ws
  agent-id: 1020uadfj

启动springboot项目,发现" Arthas agent start success." 信息意味已经成功

Arthas tunnel server 的工作原理

arthas/README.md at master · alibaba/arthas · GitHub

arthas隧道服务器/客户端使用websocket协议。

例如:

  1. arthas隧道服务器监听192.168.1.10:7777
  2. arthas隧道客户端注册到隧道服务器arthas隧道客户端连接到arthas隧道服务器,URL: ws://192.168.1.10:7777/ws?方法= agentRegister  隧道服务器响应一个文本框消息:response:/?= agentRegister&id = bvDOe8XbTM2pQWjF4cfw方法这个连接是控制连接。
  3. 浏览器尝试连接到远程arthas代理,开始连接隧道服务器,URL: 'ws://192.168.1.10:7777/ws?= connectArthas&id = bvDOe8XbTM2pQWjF4cfw方法
  4. arthas隧道服务器找到id为bvDOe8XbTM2pQWjF4cfw的控制连接,然后发送一个文本帧给arthas隧道客户端:response:/?方法= startTunnel&id = bvDOe8XbTM2pQWjF4cfw&clientConnectionId = AMku9EFz2gxeL2gedGOC
  5. arthas隧道客户端打开到隧道服务器的新连接 URL: ws: / / 192.168.1.10:7777 / ws / ?方法= openTunnel&clientConnectionId = AMku9EFz2gxeL2gedGOC&id = bvDOe8XbTM2pQWjF4cfw 此连接为隧道连接
  6. arthas隧道客户端开始连接本地阿尔萨斯代理,URL: ws://127.0.0.1:3658/ws 此连接是本地连接
  7. 在隧道连接和本地连接之间转发websocket帧。

你可能感兴趣的:(中间件,java,spring,boot)