Arthas tunnel server是一个spring boot fat jar应用,可以让用户通过浏览器诊断java进程。

部署方式:

1. 部署tunnel server

A) jar包部署:

安装jdk

下载jar包:

wget https://github.com/alibaba/arthas/releases/download/arthas-all-3.5.0/arthas-tunnel-server-3.5.0-fatjar.jar

启动命令:

nohup /apply/logs/jdk1.8.0_241/bin/java -jar arthas-tunnel-server-3.5.0-fatjar.jar 2>&1 » arthas.log &

会打开8080和7777端口。

B) 容器部署:

容器仓: https://hub.docker.com/repository/docker/xinxiaoyu/arthas-tunnel-server

或者自己build镜像

Dockerfile

1
2
3
4
5
6
7
FROM openjdk:8-jdk

COPY ./arthas-tunnel-server-3.5.0-fatjar.jar /opt

EXPOSE 8080 7777

CMD ["java", "-jar", "/opt/arthas-tunnel-server-3.5.0-fatjar.jar"]

将文件copy至当前目录下即可。

build命令

1
docker build -t arthas-tunnel-server:3.5.0 .
2. 开放8080、7777端口

如果需要从公网外诊断,需要开放将这两个端口做相应代理。

3. 客户端启动时指定tunnel server地址

客户端安装jdk并且下载arthas-boot.jar,然后启动

1
/apply//jdk1.8.0_241/bin/java -jar /apply//arthas-boot.jar --tunnel-server 'ws://ip或者域名地址:7777/ws'

上面的命令会打印出一个AgentId,浏览器访问 相应的7777端口填入即可连接。