Arthas是阿里开源的Java诊断工具,具体可查看:Arthas用户文档。我们可以基于Arthas实现自己的容器在线诊断工具。
改造的思路一般有两种:
(1)继续使用Arthas提供的命令行方式,需要对原生的webconsole界面做改造
(2)实现自己的诊断平台,调用Arthas提供的API,然后进行结果展示
例如:工行做的在线诊断平台
我们还是选择了命令行方式,可能比较接近码农的使用习惯吧。
接下来要对Arthas进行改造,从而实现我们自己的容器在线诊断工具。
在技术架构上:
(1)首先会通过docker exec命令在一个容器Pod里执行命令
执行的命令包括:
1> 下载安装介质
就是获取Arthas的zip安装包,在容器中安装并启动。默认选择pid进程号1为Java进程,设置AgentId为Pod名 + 容器名,以此做连接的唯一标识
2> 启动自定义的安装脚本和停止脚本</