配置 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



相关文章
|
5月前
|
Arthas 测试技术
Arthas调试案例:Trace案例
Arthas调试案例:Trace案例
|
NoSQL IDE 开发工具
使用Clion优雅的完全远程自动同步和远程调试c(下)
使用Clion优雅的完全远程自动同步和远程调试c(下)
使用Clion优雅的完全远程自动同步和远程调试c(下)
|
Arthas Java 测试技术
记一次使用 Arthas 热更新线上代码
引用参考第二条 - Arthas提醒您:诊断千万条,规范第一条,热更不规范,同事两行泪
1203 0
记一次使用 Arthas 热更新线上代码
|
2月前
|
测试技术 Go 开发者
ChaosBlade调试问题之在本地以debug模式启动如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
|
2月前
|
前端开发 开发工具 iOS开发
mPaaS常见问题之真机预览与调试扫码调式 release包开启日志如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
29 0
|
Arthas Cloud Native Java
是谁在调用我?使用 arthas+jprofiler 做复杂链路分析
Arthas 是阿里巴巴开源的应用诊断利器,提供了 profiler 命令,可以生成热点火焰图。通过采样录制调用链路来做性能分析,极大提升了线上排查性能问题的效率。
是谁在调用我?使用 arthas+jprofiler 做复杂链路分析
|
5月前
|
Arthas 缓存 Java
通过arthas vmtool 调用线上正在运行的service方法
通过arthas vmtool 调用线上正在运行的service方法
70 0
通过arthas vmtool 调用线上正在运行的service方法
|
11月前
|
Arthas Java 测试技术
Arthas可以对线上jar中的代码进行断点查看
Arthas可以对线上jar中的代码进行断点查看
2040 1
|
Arthas 消息中间件 监控
|
NoSQL IDE 网络协议
使用Clion优雅的完全远程自动同步和远程调试c(上)
使用Clion优雅的完全远程自动同步和远程调试c(上)
使用Clion优雅的完全远程自动同步和远程调试c(上)

热门文章

最新文章