前提介绍
相信如果经历了我的上一篇Arthas的文章[【JVM实战系列】「监控调优体系」针对于Alibaba-Arthas的安装入门及基础使用开发实战指南]之后,相信你对Arthas的功能和使用应该有了一定的理解了。那么我们就要进行下一步的探索功能。
Arthas对于SpringBoot2的支持和监控体系
在SpringBoot2应用中加入arthas-spring-boot-starter后,Spring会启动arthas服务,并且进行attach自身进程,并配合tunnel server实现远程管理。这样的方案非常适合在微服务容器环境中进行远程诊断,在容器网络环境中仅需要对外暴露tunnel server的端口。
Arthas的监控体系所需要的组件支持
Arthas Tunnel Server/Client(Java agent探针的管理和监控,方便我们管理服务和探针)
Web Console
什么是Arthas Tunnel
在容器化部署的环境内部,Java进程可以是在不同的机器启动的,想要使用Arthas去诊断会比较麻烦,因为用户通常没有机器的权限,即使登陆机器也分不清是哪个Java进程。在这种情况下,可以使用 Arthas Tunnel Server/Client。
Arthas Tunnel的作用和目的
整个Arthas的功能体系中,可以通过Arthas Tunnel Server/Client来远程管理/连接多个Agent(也就代表着可以监控多个JVM进程)。主要目的用于监控和获取目标的JVM的进程数据信息。
下载部署Arthas tunnel server
Github源码仓库下载
下载地址Arthas tunnel server,目前最新版本为arthas-all-3.6.7版本,如下图所示。

针对于Arthas的安装包进行下载资料进行介绍:
arthas-3.6.7.deb:主要用于debian操作系统去运行的安装包
arthas-bin.zip:二进制可运行执行包
arthas-doc.zip:针对于arthas的文档
arthas-tunnel-server-3.6.7-fatjar.jar:Arthas tunnel server服务的Jar可以执行包
Source code(zip):源码zip压缩包
Source code(tar.gz):源码tar包
Maven仓库下载
阿里云的下载地址:arthas.aliyun.com/download/ar…
直接运行对应的Arthas tunnel server
Arthas tunnel server是一个Spring boot fat jar 应用,直接java -jar启动:
java -jar arthas-tunnel-server.jar
复制代码
默认情况下,arthas tunnel server的web端口是8080,Arthas agent 连接的端口是7777