SpringBoot Admin集成诊断利器Arthas示例实现

网友投稿 248 2022-09-30

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 getClients() {

Map agentInfoMap = tunnelServer.getAgentInfoMap();

return agentInfoMap.keySet();

}

}

spring-boot-admin-server-ui

该文件建在resources.META-INF下,admin会在启动的时候加载该目录下的文件

index.html 覆盖SBA原来的首页,在其中添加一个导航,首页会是这样

Arthas

Guide

2.0

arthas.html 新建页面,用于显示arthas控制台页面