简介:Arthas 是 Alibaba 开源的 Java 诊断工具,具有实时查看系统的运行状况;查看函数调用参数、返回值和异常;在线热更新代码;秒解决类冲突问题;定位类加载路径;生成热点;通过网页诊断线上应用。如今在各大厂都有广泛应用,也延伸出很多产品。
作者 | 阿提说说来源|阿里巴巴云原生公众号
前言Arthas 是 Alibaba 开源的 Java 诊断工具,具有实时查看系统的运行状况;查看函数调用参数、返回值和异常;在线热更新代码;秒解决类冲突问题;定位类加载路径;生成热点;通过网页诊断线上应用。如今在各大厂都有广泛应用,也延伸出很多产品。
这里将介绍如何将 Arthas 集成进 Spring Boot 监控平台中。
SpringBoot Admin为了方便,SpringBoot Admin 简称为 SBA(版本:1.5.x)。
1.5 版本的 SBA 如果要开发插件比较麻烦,需要下载 SBA 的源码包,再按照 Spring-boot-admin-server-ui-hystrix的形式 Copy 一份,由于 JS 使用的是 Angular,本人尝试了很久,虽然掌握了如何开发插件,奈何不会 Angular,遂放弃💀
版本:2.x 2.x 版本的 SBA 插件开发,官网有介绍如何开发,JS 使用 Vue,方便很多,由于我们项目还在使用 1.5,所以并没有使用该版本,请读者自行尝试。
不能使用 SBA 的插件进行集成,那还有什么办法呢?😅
SBA 集成鄙人的办法是将 Arthas 的相关文件直接 Copy 到 Admin 服务中,这些文件都来自 Arthas-all 项目 Tunnel-server。
admin 目录结构
1. Arthas 目录该包下存放的是所有 Arthas 的 Java 文件。
- Endpoint 包下的文件可以都注释掉,没多大用。
- ArthasController 这个文件是我自己新建的,用来获取所有注册到 Arthas 的客户端,这在后面是有用的。
- 其他文件直接 Copy 过来就行。
@RequestMapping("/api/arthas")
@RestController
public class ArthasController {
@Autowired
private TunnelServer tunnelServer;
@RequestMapping(value = "/clients", method = RequestMethod.GET)
public Set getClients() {
Map agentInfoMap = tunnelServer.getAgentInfoMap();
return agentInfoMap.keySet();
}
}
spring-boot-admin-server-ui
该文件建在 Resources.META-INF 下,Admin 会在启动的时候加载该目录下的文件。
- index.html 覆盖 SBA 原来的首页,在其中添加一个 Arthas 导航
Spring Boot Admin
-
Arthas
-
关注
打赏
热门博文
- 【限时领奖】消息队列MNS训练营重磅来袭,边学习充电,边领充电宝~
- 「开源人说」第二期重磅上线!一起走进《从开源中来,到开源中去》
- 阿里云ES全观测引擎TimeStream时序增强功能重磅发布,助力时序场景实现最佳实践
- 免费下载! 冬季实战营第三期:MySQL数据库进阶实战
- 独家下载|《阿里云MaxCompute百问百答》 解锁SaaS模式云数据仓库尽在本电子手册!
- 开发者评测局第六期——ModelScope开源模型社区评测征集令
- CIKM 2022 AnalytiCup Competition: 联邦异质任务学习
- 阿里大淘系模型治理阶段性分享
- 投稿有礼,双社区签约博主名额等你赢!
- 阿里本地生活全域日志平台 Xlog 的思考与实践
立即登录/注册


微信扫码登录