Arthas 用户文档¶
Arthas(阿尔萨斯) 能为你做什么?¶
当你遇到以下类似问题而束手无策时,你看到了这篇文档,看到了 Arthas
,那么恭喜你,你朝正确的方向又迈了一大步。
- 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
- 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
- 遇到问题无法在预发 debug 一下,难道只能通过加日志再重新预发布吗?
- 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
- 是否有一个全局视角来查看系统的运行状况?
- 有什么办法可以监控到容器和中间件(AliTomcat、HSF、Notify 等)的实时运行状态?
Arthas
是全新的在线诊断工具,采用命令行交互模式,支持web端在线诊断,同时提供丰富的 Tab
自动补全功能,进一步方便进行问题的定位和诊断。
Arthas 安装及使用¶
1. 在线诊断¶
TODO
3. 开启诊断之旅¶
为了使你快速找到适合你分析、诊断问题的命令,我们将 Arthas 的命令按问题的类型做了一个大的分类,如下:
想快速了解系统、应用运行状况¶
类、方法冲突、class文件、classloader继承问题等¶
查看方法执行参数、异常、返回值、调用路径等¶
非常重要,请注意,这些命令,都通过字节码增强技术来实现的,会在指定类的方法中插入一些切面来实现数据统计和观测,因此在线上、预发使用时,请尽量明确需要观测的类、方法以及条件,诊断结束要执行shutdown
或将增强过的类执行reset
命令。
Arthas 基础命令¶
管道¶
Arthas支持使用管道对上述命令的结果进行进一步的处理,如sm org.apache.log4j.Logger | grep <init>
- grep——搜索满足条件的结果
- plaintext——将命令的结果去除颜色
- wc——按行统计输出结果
4. 常见问题及FAQ¶
TODO