学习arthas(一)安装与入门介绍

Arthas
placeholder image
admin 发布于:2023-09-23 14:34:38
阅读:loading


官网地址:https://arthas.aliyun.com/


Github地址:https://github.com/alibaba/arthas/releases


Arthas的读法:翻译为“阿尔萨斯”


1.安装介绍

关于Arthas的安装比较简单,几乎就是下载完安装文件就算是准备就绪了,再一执行就算运行了。官网提供了4种方式,有快速安装、全量安装、手动安装、通过 Cloud Toolkit 插件安装几种,以下为几种安装方式的简单介绍:

(1)快速安装:分为两种,分别是在线下载jar和sh脚本的方式,该方式为官方推荐安装方式,最为简单,直接下载的就是SpringBoot可执行文件(可执行命令),前者jar文件兼容Windows和Linux,后者sh文件只适合Linux环境运行,缺点就是需要有外网的支持,适合个人机器,对于单位内网的模式无法直接一个命令直接完活;

(2)全量安装:是下载Arthas的安装包文件后的解压,它里面包含了Arthas相关的多个文件,也兼容Windows和Linux包括配置文件、程序主文件、脚本启动文件、示例程序文件等。这种方式可移植性更好,所以我个人推荐这种安装方式,参考全量包如下图所示;

image.png

(3)手动安装:主要是通过 rpm/deb 来安装,太高端,个人没用过;

(4)通过 Cloud Toolkit 插件安装:Cloud Toolkit是一个IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。使用本插件,开发者能够方便地将本地应用一键部署到任意机器,或 ECS、EDAS、Kubernetes,并支持高效执行终端命令和 SQL 等,所以若本次不是在深入学习实践Arthas的话,我真的会去玩玩IDEA的Cloud Toolkit插件的。

访问上述的GitHub项目地址,找到Release版本的下载地址,按需下载相关的文件即可,下载图片说明参考如下:

image.png

2.安装过程

从Github上下载相关的资源文件,再从官网文档中选择合适的安装方式,本次是以下载离线安装包的方式本地安装,以下是我的安装过程参考:

(1)下载`arthas-bin.zip`文件,解压传输至Linux服务器,解压后的地址为`/app/arthas/arthas-bin`,使用`cd`命令进入该目录;

(2)执行`install-local.sh`文件(如果没有权限需要赋予文件的可执行权限),该脚本文件比较简单,将当前文件夹中的*.jar文件拷贝至`${HOME}/.arthas/lib/3.7.1/arthas`目录,一般${HOME}的路径指向`/root`目录;

(3)执行`as.sh`命令运行arthas程序;

image.png

(安装过程)

image.png

(启动arthas)

3.启动说明

(1)启动arthas时,若本机不包含其它的java进程时,启动将会报错,报错信息为:“Error: no available java process to attach”,意思是说找不到可以监控的java进程;

(2)先启动运行一个java程序,本次就以运行“math-game.jar”为例,需要注意的是运行的java程序需要保持持续运行状态,有进程存在,不能是那种一运行就退出的程序,比如启动一个Eclipse或IDEA即可,当然一些java写的其它软件均可

(3)使用“as.sh”命令启动,它将会运行arthas-boot.jar的程序文件启动arthas,并输出相关的信息,展示一些java进程信息,等待用户选择输入后进入arthas的命令交互模式,输入一些可执行的命令进行交互,示例截图中包含了“help”命令,将展示全部的内置命令;

(4)如果不使用“as.sh”命令文件也可以直接使用“java -jar arthas-boot.jar”的方式启动,二选一;

4.停止命令

(1)使用quit可退出当前应用程序(在arthas的应用服务命令内,下同);

(2)使用exit可退出当前应用程序,同quit一样,类似退出当前session;

(3)使用logout可退出当前应用程序,同quit一样,类似退出当前session;

(4)使用stop可退出arthas应用程序,退出所有session(如果使用了as.sh命令连接了多个session,将同时被退出);

(5)它们的区别如同线程池中的close一个连接和shutdown销毁连接池一样;

image.png

5.小技巧

(1)使用`as.sh`命令加PID的方式来监控Java进程,将会跳过用户选择的进程号的方式快速进入arthas交互控制台,至于PID的获取则使用“jps”命令;

(2)使用`as.sh`命令加进程名称的方式来监控Java进程,由于PID每次启动均不一样,无法通用,所以arthas支持使用进程名称的方式启动,参考如下图所示:

image.png

(3)命令式交互方式,命令较多,但都有命令补全提示和命令说明文档,任意一个命令加上“-h”或“--help”将输出命令的使用方式;

(4)除了开头处介绍的地址外,arthas官网文档中有个“在线教程”的菜单,它提供了入门教程、基础教程等多种命令学习知识和在线命令控制台,可以在线输入命令进行体验,比较给力,不过此功能需要用户登录,使用人数较多时需要排队,似乎是一锤子买卖感觉不能持久化用户操作,每次进入皆为纯净系统;


 点赞


 发表评论

当前回复:作者

 评论列表


留言区