阿里开源的Java诊断工具——Arthas

1 问题背景

线上生产环境常常遇到异常无法定位,用户数据有问题无法在线上生产环境debug,无法得知方法的返回结果,笔者常遇到这些情况,因此研究阿里开源的Java诊断工具——Arthas。Arthas不仅仅是进行线上debug,还能查看jvm情况,类加载,实时热部署(超厉害的手段) 等等。

2 前言

但在介绍如何使用arthas线上debug之前,笔者先介绍arthas的一些整体概况。从整体架构、调用关系有一定的理解,才容易理解在后面如何使用arthas。

3 Arthas有什么作用

官方文档介绍如下:

在这里插入图片描述

4 入门小实践

花十来分钟访问在线快速入门Arthas看看Arthas是怎么玩的。

5 SpringBoot应用、Arthas、Arthas Tunnel Server之间的关系

从前面的入门小实践可以知道,他们的关系如下:

在这里插入图片描述
我们通过启动一个Arthas应用,使用控制台命令与SpringBoot应用A交互。

但是在流式计算里,Java进程(即SpringBoot应用)可以是在不同的机器启动的,想要使用Arthas去诊断会比较麻烦,因为用户通常没有机器的权限(即无法在机器上面启动一个Arthas应用),即使登陆上机器也分不清是哪个Java进程。

因此基于以上的情况,就有了Arthas Tunnel Server,其与SpringBoot应用交互的关系如下(图片不清楚可右击“在新标签页打开”):

在这里插入图片描述
如上图所示,引入的arthas-spring-boot-starter依赖,使得SpringBoot应用能成为一个Arthas Tunnel Client角色,每一个Client都有属于自己的agent-id,Arthas Tunnel Server端管理多个Client。用户在浏览器输入arthas的命令行与client交互。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值