【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

启动完成后,控制台输出

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

springboot项目注册tunnel-server端

pom文件引入

	<dependency>
			<groupId>com.taobao.arthas</groupId>
			<artifactId>arthas-spring-boot-starter</artifactId>
			<version>3.5.5</version>
		</dependency>

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帧。

猜你喜欢

转载自blog.csdn.net/run_boy_2022/article/details/130807966