线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

Arthas简介

Arthas是Alibaba开源的Java诊断利器,深受开发者喜爱,目前在Github上已有29K+Star。它采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

ArthasTunnel

为了演示一个更加真实的线上环境,接下来我们将对Docker容器中的SpringBoot应用进行诊断。我们将使用ArthasTunnel来实现,ArthasTunnel相当于一个Web控制台,使用它我们无需进入应用容器即可对应用进行诊断,非常方便。

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

# 该镜像需要依赖的基础镜像
FROM java:8
# 将当前目录下的jar包复制到docker容器的/目录下
ADD arthas-tunnel-server.jar /arthas-tunnel-server.jar
# 声明服务运行的端口
EXPOSE 8080 7777
# 指定docker容器启动时运行jar包
ENTRYPOINT ["java", "-jar","/arthas-tunnel-server.jar"]
# 指定维护者的名字
MAINTAINER macro
#!/usr/bin/env bash
# 定义应用组名
group_name='mall-tiny'
# 定义应用名称
app_name='arthas-tunnel-server'
# 定义应用版本
app_version='1.0-SNAPSHOT'
echo '----copy jar----'
docker stop ${app_name}
echo '----stop container----'
docker rm ${app_name}
echo '----rm container----'
docker rmi ${group_name}/${app_name}:${app_version}
echo '----rm image----'
# 打包编译docker镜像
docker build -t ${group_name}/${app_name}:${app_version} .
echo '----build image----'
docker run -p 8080:8080 -p 7777:7777 --name ${app_name} 
-e TZ="Asia/Shanghai" 
-v /etc/localtime:/etc/localtime 
-v /mydata/app/${app_name}/logs:/var/logs 
-d ${group_name}/${app_name}:${app_version}
echo '----start container----'
线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

SpringBoot集成

在SpringBoot应用中直接集成Arthas并使用,无疑是最方便的,接下来我们将采用此种方法。



    com.taobao.arthas
    arthas-spring-boot-starter
    3.6.1

management:
  endpoints:
    web:
      exposure:
        # 暴露端点`/actuator/arthas`
        include: 'arthas'
arthas:
  agent-id: mall-tiny-arthas
  tunnel-server: ws://arthas-tunnel-server:7777/ws
线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

IDEA插件

由于Arthas的功能很强大,需要记住的命令很多,有时候实在记不住,于是有了这款IDEA插件,该插件主要用于帮助生成Arthas命令。

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

线上项目出BUG没法调试?这款阿里开源的诊断神器,自带IDEA插件

总结

今天体验了一把新版的Arthas,搭配ArthasTunnel和IDEA插件使用,确实非常方便!并且它还能和SpringBoot无缝集成,确实非常给力


作者:MacroZheng
链接:https://juejin.cn/post/7103706246586302495

展开阅读全文

页面更新:2024-03-19

标签:插件   阿里   控制台   神器   线程   容器   脚本   命令   确实   级别   方法   项目   日志

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top