配置 arthas 实现远程线上 debug

简介: arthas 有多种启动方式:java agent 像 skywalking 一样as.sh 利用 arthas 的 shell 启动 或者 java -jar 启动sprintboot starter 集成到应用中启动我们采用最方便的把 arthas 集成到 springboot-starter 的应用中启动

本地配置


arthas 有多种启动方式:


  • java agent 像 skywalking 一样
  • as.sh 利用 arthas 的 shell 启动 或者  java -jar 启动
  • sprintboot starter 集成到应用中启动

我们采用最方便的把 arthas 集成到 springboot-starter 的应用中启动


加入相关依赖


<dependency>
            <groupId>com.taobao.arthas</groupId>
            <artifactId>arthas-spring-boot-starter</artifactId>
            <version>3.4.8</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>


修改 application.yml 配置文件


# arthas tunnel server配置
arthas:
  agent-id: arthasDemo
  tunnel-server: ws://47.75.156.201:7777/ws
# 监控配置
management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always


启动


本地访问 http://localhost:8080/actuator/arthas 查看 arthas 配置信息


4.jpg


其他配置可以参考:https://arthas.aliyun.com/doc/arthas-properties.html


启动项目后,然后在浏览器中输入 http://localhost:3658 地址(web console)。显示如下界面,就代表已经设置成功了。


5.jpg


Arthas Tunnel Server


通过 Arthas Tunnel Server/Client 来远程管理/连接多个 Agent。


部署  Tunnel Server


下载 jar 包  https://github.com/alibaba/arthas/releases


## Arthas tunnel server 是一个 spring boot fat jar应用
## 直接java -jar启动:
java -jar  arthas-tunnel-server.jar


默认情况下,arthas tunnel server 的 web 端口是 8080,arthas agent 连接的端口是 7777 也可以修改端口,比如 java-jar arthas-tunnel-server.jar --server.port=8082


远程连接管理多个 Agent


部署起来后,agent 的配置就可以生效了,比如


arthas:
#  telnetPort: -1
#  httpPort: -1
  tunnel-server: ws://127.0.0.1:7777/ws
  app-name: arthasDemo


此时打开 Tunnel Server    http://127.0.0.1:8082/   是空白的


6.jpg


需要 AgentId, 可以通过 http://127.0.0.1:8082/apps.html 打开连接上的应用,再点击应用名称便可以看到


7.jpg


8.jpg


点击按钮,或输入 AgentId 便可连接上指定的 agent 了


9.jpg



相关文章
|
Arthas 消息中间件 监控
临时排查线上问题,用它Arthas| Java Debug 笔记
临时排查线上问题,用它Arthas
380 0
临时排查线上问题,用它Arthas| Java Debug 笔记
|
7月前
|
Arthas 监控 Java
Java 诊断利器 Arthas使用
Java 诊断利器 Arthas使用
233 0
|
7月前
|
Arthas 监控 Java
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
880 2
|
Arthas 监控 Java
开源Java诊断工具Arthas:开篇之watch实战
还在为排查Java程序线上问题头痛吗,看我们用阿里开源的诊断神器 Arthas 来帮您
571 1
|
Arthas Dubbo Java
Alibaba Java诊断工具Arthas查看Dubbo动态代理类
Alibaba Java诊断工具Arthas查看Dubbo动态代理类
122 0
|
6月前
|
Arthas 测试技术 Java
一文带你快速了解 Java 线上问题快速诊断神器 Arthas
【6月更文挑战第1天】一文带你快速了解 Java 线上问题快速诊断神器 Arthas
339 3
|
7月前
|
Arthas Java 测试技术
Java诊断利器Arthas安装和使用
Java诊断利器Arthas安装和使用
82 0
|
Arthas 监控 Java
【Java虚拟机】JVM诊断神器Arthas入门实操
【Java虚拟机】JVM诊断神器Arthas入门实操
【Java虚拟机】JVM诊断神器Arthas入门实操
|
Arthas 监控 IDE
Arthas(Java 应用诊断利器)
Arthas(Java 应用诊断利器)
Arthas(Java 应用诊断利器)
|
Arthas 消息中间件 监控
Alibaba开源Java诊断工具Arthas简单介绍
Alibaba开源Java诊断工具Arthas简单介绍
627 0
Alibaba开源Java诊断工具Arthas简单介绍