Arthas在线诊断工具介绍

工作中接触到了阿尔达斯Archas,解决工作中的痛点,借自己微薄之力推广一下
我所用到的 arthas版本:3.6.0

arthas介绍

arthas是什么

arthas是阿里巴巴开源的Java诊断工具,基本使用场景是定位复现一些生产环境比较难以定位问题。可以在线排查问题,以及动态追踪Java代码,实时监控JVM状态等等。

arthas能干什么

1.查看系统信息
  全局视角来查看系统的运行状况
2.查看JVM信息
  可以排查gc,栈溢出问题
查看已加载的类
  如果有全路径名类加载的类冲突可以通过这个定位,查看哪个类是由哪个classloader加载的,比如log4j和sl4j的logger就经常冲突可以通过这个定位
3.反编译代码
  查看生产环境的实际代码,本地,master,预发,线上环境都有差异,可以通过这个确认生产环境跑的代码究竟是什么样。
4.动态执行代码
  可以临时在生产环境打日志,方便复现定位问题
5.排查函数调用异常
  比如某个查询req,查询结果报错,可以通过watch命令定向捕获错误。而且可以根据是否报错,或者入参的范围指定捕获打印
6.热更新代码
  这个简直是神器,通过jad/mc/redefine 命令实现动态更新代码的功能,可以直接紧急修改线上代码,命令做的话比较麻烦,不过阿里内部有在线编译器可以线上诊断,在源码基础上修改,然后一行命令热更新代码。重新部署后和命令清除后就会恢复之前的代码,只能用于紧急止血。
  可以动态更新应用Logger Level,查看错误日志
  如果项目部署很费时间,可以通过这个方法在预发环境迅速验证,提高开发效率
还有更多进阶用法这里就不一一介绍了

arthas怎么用

demo-arthas-spring-boot是一个很简单的spring boot应用,源代码:查看

先启动spring boot应用

wget https://code.aliyun.com/middleware-container/handsonLabExternedFiles/raw/master/demo-arthas-spring-boot.jar;java -jar demo-arthas-spring-boot.jar

arthas相当于再在项目运行的环境中又启动一个java程序进程(可以理解为一个jar程序)

wget https://arthas.aliyun.com/arthas-boot.jar;java -jar arthas-boot.jar

然后通过arthas的命令就可以操作spring boot应用了

阿里云实验室,基础篇和进阶篇有很详细的使用教程。
基本花十几分钟过一遍就会用了阿里云实验室

idea可以安装arthas插件自动组装命令
更多文档
https://arthas.aliyun.com/doc/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值