SpringBoot Admin集成诊断利器Arthas示例实现
SpringBoot Admin集成诊断利器Arthas示例实现
目录前言SpringBoot AdminSBA 集成客户端配置在配置中心加入配置实现开关效果结束
前言
Arthas 是 Alibaba开源的java诊断工具,具有实时查看系统的运行状况,查看函数调用参数、返回值和异常,在线热更新代码,秒解决类冲突问题、定位类加载路径,生成热点图,通过网页诊断线上应用。 如今在各大厂都有广泛应用,也延伸出很多产品。
这里将介绍如何将Arthas集成进SpringBoot监控平台中。
SpringBoot Admin
为了方便SpringBoot Admin 简称为SBA
版本:1.5.x
1.5版本的SBA如果要开发插件比较麻烦,需要下载SBA的源码包,再按照spring-boot-admin-server-ui-hystrix的形式copy一份,由于js使用的是Angular,本人放弃了
版本:2.x
2.x版本的SBA插件开发,官网有介绍如何开发,JS使用vue,方便很多,由于我们项目还在使用1.5,所以并没有使用该版本,请读者自行尝试
不能使用SBA的插件进行集成,那还有什么办法呢?????
SBA 集成
鄙人的办法是将Arthas的相关文件直接copy到admin服务中
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
Map
return agentInfoMap.keySet();
}
}
spring-boot-admin-server-ui
该文件建在resources.META-INF下,admin会在启动的时候加载该目录下的文件
index.html 覆盖SBA原来的首页,在其中添加一个导航,首页会是这样
Guide
2.0
sbaModules = [];
angular.element(document).ready(function () {
angular.bootstrap(document, sbaModules.slice(0), {
strictDi: true
});
});
arthas.html 新建页面,用于显示arthas控制台页面