arthas安装与使用
引言
服务器线上排查bug是一件非常困难的事情。arthas为我们提供了线上诊断的十八般兵器。非常好用。
本文将根据官方文档展示如何安装和简单使用arthas。
正文
环境:windows10、jdk、arthas的运行jar包、idea、可运行的java项目
演示使用arthas的两种方式:1.运行jar的方式。2.springboot集成依赖的方式
官方文档:https://arthas.aliyun.com/doc/en/quick-start.html
jar包的方式运行arthas
- 下载:
curl -O https://arthas.aliyun.com/arthas-boot.jar
- 在jar包所在目录运行(需要安装jdk):
java -jar arthas-boot.jar
-
本机显示如下,输入选择需要进入的java进程,如:
1
+enter
-
显示以下内容,则arthas成功附着到运行的java项目中:
-
输入:
thread
查看所有线程,可看到arthas正常运行。此时也可用浏览器输入:http://127.0.0.1:8563/
打开arthas操作界面
sprintboot集成arthas
- springboot添加依赖
<dependency>
<groupId>com.taobao.arthas</groupId>
<artifactId>arthas-spring-boot-starter</artifactId>
<version>3.5.5</version>
</dependency>
- 浏览器输入:
http://127.0.0.1:8563/
常见命令
dashboard 看板
thread 查看线程
thread 1 查看指定线程
jad com.zj.App 查看线上代码
watch com.zj.App methodA '{params,returnObj,throwExp}' -n 5 -x 3 可使用idea使用插件【arthas idea】来生成命令【通过右键方法名】
logger 查看日志配置
logger --name ROOT --level debug 更改日志级别
quit exit 退出
stop 退出arthas
idea插件
arthas的命令很多,谁费那劲去记忆。最好的方式就是想用随手查阅和生成。
如果用idea可以用【arthas idea】的插件。
使用比较方便。
比如你想要监控你项目中写的com.zj.App类的methodA方法的输入输出。
在你idea项目的这个类方法名称上右键,Arthas Commond -> Watch,自动在剪切板中生成命令,接下去只需拷贝到arthas命令行中运行即可。
我查看的是controller中的HiController的hi方法。