短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

文章图片

短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

文章图片

短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

文章图片

短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

文章图片

短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

文章图片

短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

文章图片

短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

文章图片

短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

文章图片

短视频|干货分享!JAVA诊断工具Arthas在Rainbond上实践~

别再担心线上 Java 业务出问题怎么办了 ,  Arthas 帮助你解决以下常见问题:

  • 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  • 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  • 遇到问题无法在线上 debug , 难道只能通过加日志再重新发布吗?
  • 线上遇到某个用户的数据处理有问题 , 但线上同样无法 debug , 线下无法重现!
  • 是否有一个全局视角来查看系统的运行状况?
  • 有什么办法可以监控到 JVM 的实时运行状态?
  • 怎么快速定位应用的热点 , 生成火焰图?
  • 怎样直接从 JVM 内查找某个类的实例?
Arthas(阿尔萨斯)是一款线上监控诊断产品 , 通过全局视角实时查看应用 load、内存、gc、线程的状态信息 , 并能在不修改应用代码的情况下 , 对业务问题进行诊断 , 包括查看方法调用的出入参、异常 , 监测方法执行耗时 , 类加载信息等 , 大大提升线上问题排查效率 。
Arthas 采用命令行交互模式 , 同时提供丰富的 Tab 自动补全功能 , 进一步方便进行问题的定位和诊断 。
同时 Arthas 也支持通过 Web Console 进入命令行交互模式 , 这适用于开发人员没有服务器权限时通过 Arthas Web Console 诊断业务 。
Arthas 在 Rainbond 上集成1. 插件集成通过 Rainbond 插件的机制 , 从 Rainbond 开源应用商店一键安装 Arthas 插件并在组件中开通 , 组件启动时会自动下载 arthas-agent.jar 结合环境变量配置使用 javaagent 方式启动 。
2. Arthas Tunnel 集成当我们的微服务业务有 10+ , 这时通过 Arthas 去诊断就会比较麻烦 , 开发人员没有服务器的权限并且通过 Web Console 访问的话也会由于访问地址太多导致特别混乱 。 这时就需要通过 Arthas Tunnel Server/Client 来远程管理/连接多个 Agent 。
Arthas Agent 会通过 WS 注册到 Arthas Tunnel 中 , 实现统一管理 。
Arthas Tunnel 可通过 Rainbond 开源应用商店一键安装 。
3. Arthas Web Console对于 Spring Boot 应用则无需通过 Arthas Tunnel 访问 Web Console , 在组件内添加8563端口即可访问 Web Console 。 (注意:域名访问需开启 Websocket 支持

使用Arthas诊断Rainbond上的Spring Boot应用本小节使用若依SpringBoot作为示例 。
首先需要安装 Rainbond云原生应用管理平台 , 可参阅文档 安装 Rainbond Allinone
1. 部署 Spring Boot 应用团队 -> 新增 -> 基于应用商店创建组件 -> 在应用商店中搜索