千家信息网

Arthas使用的各类方式是怎样的

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Arthas使用的各类方式是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Arthas 是阿里巴巴开源的 Java
千家信息网最后更新 2026年11月02日Arthas使用的各类方式是怎样的

Arthas使用的各类方式是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Arthas 是阿里巴巴开源的 Java 诊断工具。让我们能够在线排查项目发生的问题。除了知道它的存在之外,我们也需要知道我们如何去安装使用它,以便于提高我们日常开发解决 BUG 的效率。

方案介绍

方案一:本地直接运行

往往最简单的方法实际是最有效的,它本身就是一个可运行的程序,所以我们可以直接运行即可。

  • 我们可以直接通过官网下载对应的 jar,然后运行再进行 jar,执行对应的命令。

  • 命令如下:

java -jar arthas-boot.jar [option]
  • 演示如下:

方案二:Web Console实现

我们可以不通过每次进入 ssh 中进行执行程序,我们也可通过 web 方式进行访问操作.通过官网上面的介绍 arthas 的 Web Console,能了解到大致的搭建思路。

  • 通过下载 arthas-tunnel-server。我们可以拿到对应的 arthas 的 server 端。下载完毕之后直接运行即可(我是将其在 ECS 上直接运行)。

  • 在客户端对应的启动 arthas-boot。并且通过启动参数附加上 server 的地址(我是将其在本地运行)。

  • 选择对应的进程进行 attach,会出现对应的 agent-id,再将其填写到对应的 server 端 http 页面中。

  • 最后我们就可以再 server 端进行操作,即 Web Console 实现完成。

方案三:项目依赖

基于 Spring 相关搭建的项目直接加入依赖(需要对应的环境支持,例如不能缺少 tools.jar)。

  • SpringBoot 项目依赖:

            com.taobao.arthas            arthas-spring-boot-starter            ${arthas.version}        
  • 非 SpringBoot 项目依赖:

            com.taobao.arthas            arthas-agent-attach            ${arthas.version}                            com.taobao.arthas            arthas-packaging            ${arthas.version}        
  • 本地项目启动之后可以直接访问:

http://127.0.0.1:3658/
  • 当然还可以结合上面介绍的 Web Console。例如配置文件中增加对应的配置信息:

arthas.agent-id=qwejqjnnnunnqarthas.tunnel-server=ws://server地址:7777/ws
  • 演示如下:

以上步骤就是先把 tunnel-server 启动,然后本地配置连接 tunnel-server。然后输入配置的 Id,即可完成对应的调试。

方案四:容器配置

基于 docker 配置,目前上容器服务的企业不在少数。对于容器服务,也是可以适用的。将 jar 下载下来之后进行 ADD 操作,或者每次通过构建 Dockerfile 则会产生对应含有 arthas 的镜像文件。

这里介绍下通过 Dockerfile 进行构建:

FROM openjdk:8-jdk-alpineADD target/*.jar app.jar# copy arthasCOPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthasRUN apk add --no-cache tiniENTRYPOINT ["/sbin/tini", "--"]CMD ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]MAINTAINER Montos 1367654518@qq.com

上述是通过构建 Dockerfile 来完成的,这里就直接将镜像文件贴出来,这里是将当前 arthas 中的文件复制到对应的容器中,之后我们可以通过 exec -it 进入执行,步骤和方法一类似。

总结

通过上面的介绍,其实我更推荐使用 Web 接入的方式更好,原因如下:

  • 在服务直接部署在服务器上或者 ECS 云服务器情况下。我们可以直接运行在对应的 client 端,但是我们如何上到各个服务所在的服务器上?通过跳板机?那么我们是不是操作的时候会有可能对应服务器造成影响,直接连接服务器上是肯定不行的。

  • 服务在所运行的 pod 情况下。此时让你连接服务是影响是比上面的情况会小很多,如果发生影响也只是影响到当前运行的 pod。但是如果你想直接连接 pod,那么需要的将对应的 pod 端口需要映射到对应的宿主机上,然后再提供外部访问 ecs 的链接。这样会使得每次 pod 需要映射出去的端口需要一定的规则,无疑是加大了运维等工作,运行则也消耗了当前的资源(访问页面等等则走 http 接口请求,如果通过 ws 连接,减少 7 层方面消耗)。

  • 如果通过上述方法,那么我们可以再一台机器上运行 server 即可,我们每次访问都通过访问 server 去连接到到对应的 client 端,同时对应的 agent-id 可以指定,我们可以每次 pod 进行 client 运行的时候指定当前的 agent-id,让其与当前的 pod 进行一个绑定,便于我们通过 server 进行连接。

当然上述观点仁者见仁智者见智。以上介绍了几种部署以及运行 arthas 的方法,企业可以根据当前的项目架构选择合适的部署进行解决。为什么需要????就因为能帮助开发解决问题,不需要来回发版!

欢迎登陆 start.aliyun.com 知行动手实验室体验 Arthas 57 个动手实验:https://start.aliyun.com/handson-lab/#!category=arthas

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

运行 服务 项目 配置 方案 服务器 容器 文件 方法 影响 方式 情况 面的 帮助 企业 命令 地址 就是 时候 步骤 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技活动banner 国智互联网科技 广州宏创互联网科技 碳银互联网科技有限公司 美国互联网前沿科技 济南和联互联网科技有限公司 卫星互联网科技股票 深圳市运趣互联网科技有限公司 宁波青枫互联网科技有限公司 互联网经济与金融科技 语蝶互联网科技有限公司 湖南一路畅行互联网科技 消费医药和互联网科技 朱啸虎曾投资哪些互联网科技企业 南博望互联网科技有限公司 互联网与数字科技关系 易企秀互联网科技是做什么的 九思连强互联网电子科技有限公司 互联网科技收购价值 东风日产互联网科技公司叫什么 上海喔噻互联网科技有限公司 合肥互联网科技公司 朗涯互联网科技 滨湖区互联网智能科技产品供应 蓝色互联网科技 互联网汽车科技小镇 互联网教育科技公司vipkid 半导体是互联网高科技吗 珠海东科互联网科技有限公司 科技和互联网行业的特点
0