文章目录

  • 1 问题背景
  • 2 前言
  • 3 Arthas有什么作用
  • 4 入门小实践
  • 5 SpringBoot应用、Arthas、Arthas Tunnel Server之间的关系

1 问题背景

线上生产环境常常遇到异常无法定位,用户数据有问题无法在线上生产环境debug,无法得知方法的返回结果,笔者常遇到这些情况,因此研究阿里开源的Java诊断工具——Arthas。Arthas不仅仅是进行线上debug,还能查看jvm情况,类加载,实时热部署(超厉害的手段) 等等。

2 前言

但在介绍如何使用arthas线上debug之前,笔者先介绍arthas的一些整体概况。从整体架构、调用关系有一定的理解,才容易理解在后面如何使用arthas。

3 Arthas有什么作用

官方文档介绍如下:

4 入门小实践

花十来分钟访问在线快速入门Arthas看看Arthas是怎么玩的。

5 SpringBoot应用、Arthas、Arthas Tunnel Server之间的关系

从前面的入门小实践可以知道,他们的关系如下:


我们通过启动一个Arthas应用,使用控制台命令与SpringBoot应用A交互。

但是在流式计算里,Java进程(即SpringBoot应用)可以是在不同的机器启动的,想要使用Arthas去诊断会比较麻烦,因为用户通常没有机器的权限(即无法在机器上面启动一个Arthas应用),即使登陆上机器也分不清是哪个Java进程。

因此基于以上的情况,就有了Arthas Tunnel Server,其与SpringBoot应用交互的关系如下(图片不清楚可右击“在新标签页打开”):


如上图所示,引入的arthas-spring-boot-starter依赖,使得SpringBoot应用能成为一个Arthas Tunnel Client角色,每一个Client都有属于自己的agent-id,Arthas Tunnel Server端管理多个Client。用户在浏览器输入arthas的命令行与client交互。

阿里开源的Java诊断工具——Arthas相关推荐

  1. 阿里巴巴开源的 Java 诊断工具Arthas【入门篇】

    前面: 各位老铁们,好久没和大家见面了,最近一直躲在家里不敢出来门,过着像猪的生活..... 吃喝拉撒睡觉.远程在家办公一段时间也是遇到了比较棘手的问题.所以没有顾得上来和大家分享了,不过大家放心,从 ...

  2. ali arthas 火焰图_带你上手阿里开源的 Java 诊断利器:Arthas

    本文适合有 Java 基础知识的人群. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>[1]系列,今天给大家带来一款阿里开源的 Java 诊断利器 ...

  3. java为什么打不开jar_带你上手阿里开源的 Java 诊断利器:Arthas

    本文适合有 Java 基础知识的人群. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>[1]系列,今天给大家带来一款阿里开源的 Java 诊断利器 ...

  4. idea 项目jar反编译java_带你上手阿里开源的 Java 诊断利器:Arthas

    本文适合有 Java 基础知识的人群. 本文作者:HelloGitHub-秦人 HelloGitHub 推出的<讲解开源项目>系列,今天给大家带来一款阿里开源的 Java 诊断利器 Art ...

  5. 阿里巴巴开源的 Java 诊断工具:Arthas(阿尔萨斯)

    Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exce ...

  6. 阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用

    阿里Java诊断工具 arthas - 生产环境反编译动态修改程序调试应用 一.arthas 上篇文章我们借助arthas监测线上系统的运行信息.排查程序运行缓慢问题,尽管这样已经非常好了,但是还是会 ...

  7. Java诊断工具-Arthas入门与实践

    Java诊断工具-Arthas入门与实践 目录 Java诊断工具-Arthas入门与实践 什么是Arthas? Arthas能做什么? 我在哪里可以下载Arthas? 快速入门 1. 下载并运行mat ...

  8. Java诊断工具Arthas使用说明

    Arthas简介 当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 ...

  9. Arthas(1):Java诊断工具Arthas入门教程

    文章目录 前言 第一节 Arthas 能为你做什么? 第二节 环境准备 第三节 快速入门 1. 启动math-game 2. 启动arthas 3. 查看dashboard 4. 通过 thread ...

最新文章

  1. ACMNO.18 C语言-选择排序 用选择法对10个整数从小到大排序。 输入 10个整数 输出 排序好的10个整数
  2. Mybatis的selectKey使用
  3. Android线程间通信之handler
  4. 电脑设置代理IP工具 可自动更新
  5. Android笔记 - 如何避免ActivityNotFound异常,查看Activity堆栈信息,获取进程名
  6. 免费 web api 接口大全
  7. 开机引导界面grub找不到
  8. ATT CK 阶段之 Initial Access --Drive-by Compromise
  9. mysql limit acs_Oracle Acs资深顾问罗敏 老罗技术核心感悟:牛! 11g的自动调优和
  10. 鸿蒙javascript项目开发----呼吸计时训练(基于华为轻量级运动手表)
  11. 用c语言编写程序出现undecla,济南大学C程序设计基础实验指导书
  12. 微软沈向洋,百度李彦宏、王海峰,阿里王坚均候选中国工程院院士
  13. 算法模型---关联规则挖掘学习
  14. SEO黑帽技术 - 蜘蛛池原理
  15. linux下共享文件夹
  16. 计算机网络笔记及思维导图(3)——数据链路层
  17. 谷歌携Chromebox会议套件进入视频会议市场
  18. android微信群聊功能,微信安卓内测更新,这个群聊功能等了8年
  19. Hadoop安装配置(转自虾皮工作室)
  20. sysbench 做性能测试

热门文章

  1. Dennis与Ken爷爷的UNIX/C世界
  2. disabled 的禁用
  3. windows系统中显示文件的后缀名称方法
  4. iOS视频播放之AVPlayer
  5. 教你一招,轻松搞定教室巡课!
  6. NC65 多表关联 增加自定义参照并且参照数据要根据选择的财务组织过滤
  7. 再谈云原生时代的系统软件,创造一个开放、无锁定、低成本的技术体系
  8. .Net Core微服务架构
  9. iOS app 实现热更新(无需发新版本实现app添加新功能)
  10. 微信小程序之引入使用Vant Weapp组件