Arthas Docker
Docker
docker run -d --rm --name arthas-math-game -it hengyunabc/arthas:latest /bin/sh -c "java -jar /opt/arthas/math-game.jar"
docker exec -it arthas-math-game /bin/sh -c "java -jar /opt/arthas/arthas-boot.jar"
查看dashboard
dashboard
通过thread命令来获取到math-game进程的Main Class
thread 1 | grep 'main('
通过jad来反编译Main Class
jad demo.MathGame
watch
watch demo.MathGame primeFactors returnObj
诊断Docker里的Java进程
docker exec -it ${containerId} /bin/bash -c "wget https://arthas.aliyun.com/arthas-boot.jar && java -jar arthas-boot.jar"
把Arthas安装到基础镜像里
FROM openjdk:8-jdk-alpine
# copy arthas
COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas
Arthas Tunnel
java -jar arthas-tunnel-server-3.5.5-fatjar.jar
http://127.0.0.1:8080/
http://127.0.0.1:8080/actuator/arthas
User: arthas, 密码在arthas tunnel server的日志里
启动arthas时连接到tunnel server
docker exec -it arthas-math-game /bin/sh -c "java -jar /opt/arthas/arthas-boot.jar --tunnel-server 'ws://127.0.0.1:7777/ws' --app-name demoapp"
Or session
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. ''--. .--'| '--' | / O \ ' .-'
| .-. || '--'.' | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-' |
`--' `--'`--' '--' `--' `--' `--'`--' `--'`-----'
wiki https://arthas.aliyun.com/doc
tutorials https://arthas.aliyun.com/doc/arthas-tutorials.html
version 3.1.2
pid 86183
time 2019-08-30 15:40:53
id URJZ5L48RPBR2ALI5K4V
Tunnel Server的管理页面
http://localhost:8080/apps.html