平台介绍
- 基于阿里Arthas开源软件,和使用 Arthas WebConsole实现的在线诊断CPU飙高,内存爆满,线程数量巨大等问题
部署流程
1. arthas-tunnel-server(新开应用)
- 可以直接下载源码部署。如需定制化,则修改当前项目
- 源码下载
- 启动应用 java -jar arthas-tunnel-server-3.4.4-fatjar.jar
2. 目标机器
- 进入目标机器
- 下载Arthas
- 启动arthas
# tunnel-server-ip 为 arthas-tunnel-server 部署的IP
java -jar arthas-boot.jar --tunnel-server 'ws://tunnel-server-ip:7777/ws'
- 启动后输出id为**agentId **
3. 浏览器访问
- http://tunnel-server-ip:8080
4. agentId
- 输入上面的agentId,可以连接到目标机器N上的Arthas
客户端列表
- tunnel-server提供 actuator/arthas,可以查看连接上的客户端
- 访问 http://tunnel-server-ip:8080/actuator/arthas
- 访问 /actuator/arthas 需要账号密码
- 账号是 arthas
- 密码是默认动态生成的(可以修改),在启动日志中搜索以下关键字
Using generated security password:
- 密码固定
# application.properties
spring.security.user.password=****
- 注意,我们公司是不允许依赖 actuator 的,存在安全风险
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
二次开发
- 参考 Arthas Web-Console一站式解决方案
- 如需大量定制化开发,可以参考文章最后工商银行打造的在线诊断平台