Arthas 介绍
简介

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
常用命令介绍
停止 arthas 服务端
stop 关闭 Arthas 服务端,所有 Arthas 客户端全部退出
arthas 全局配置
| 名称 | 默认值 | 描述 |
|---|---|---|
| json-format | false | 是否支持 json 化的输出 |
| save-result | false | 是否打开执行结果存日志功能,打开之后所有命令的运行结果都将保存到~/logs/arthas-cache/result.log中 |
options json-format 获取指定 option 的值options save-result true 设置 option 的值
搜索命令
查询类
sc java.lang.Math -d | grep Loader 查找当前 class 被那个classsLoader 加载, 以及 hash 值
ongl 表达式
docker 快速使用
1 | mkdir /arthas |
获取实例对象方式
使用 vmtool 获取 bean 对象
1 | vmtool -x 1 \ |
使用 ognl 表达式获取 bean 对象
1 | ognl -x 2 \ |
使用 ognl 表达式获取 bean 对象(遍历单例缓存)
1 | ognl -x 2 \ |
使用静态方法
getstatic packageName.ApplicationContextHelper context '#beanList=beanFactory.singletonObjects.entrySet().iterator.{? #this.key =="orderHeaderMapper"},{#beanList[0].value}'
idea 插件
Arthas-idea(部分命令可视化)
- Jetbrains 插件获取地址:https://plugins.jetbrains.com/plugin/13581-arthas-idea
- 使用文档:https://www.yuque.com/arthas-idea-plugin
- 源码地址:https://github.com/WangJi92/arthas-idea-plugin