Arthas

阿里开源java诊断工具Arthas

半腔热情 提交于 2020-04-27 10:14:51
快速安装 使用as.sh Arthas 支持在 Linux/Unix/Mac 等平台上一键安装,请复制以下内容,并粘贴到命令行中,敲 回车 执行即可: curl -L https: //alibaba.github.io/arthas/install.sh | sh 上述命令会下载启动脚本文件 as.sh 到当前目录,你可以放在任何地方或将其加入到 $PATH 中。 直接在shell下面执行./as.sh,就会进入交互界面。 也可以执行./as.sh -h来获取更多参数信息。 如果从github下载有问题,可以使用gitee镜像 curl -L https://arthas.gitee.io/install.sh | sh 卸载 在 Linux/Unix/Mac 平台 删除下面文件: rm -rf ~ /.arthas/ rm -rf ~ /logs/arthas Windows平台直接删除user home下面的.arthas和logs/arthas目录 centos安装telnet (Error: telnet is not installed) yum list telnet* 列出telnet相关的安装包 yum install telnet-server 安装telnet服务 yum install telnet.* 安装telnet客户端 java -jar

超大福利 | 这款免费 Java 在线诊断利器,不用真的会后悔!

给你一囗甜甜゛ 提交于 2020-04-24 09:47:44
线上系统为何经常出错?数据库为何屡遭黑手?业务调用为何频频失败?连环异常堆栈案,究竟是哪次调用所为? 数百台服务器意外雪崩背后又隐藏着什么?是软件的扭曲还是硬件的沦丧? 走进科学带你了解 Arthas,一款开源一年多 GitHub Star 2 万,99% 的阿里研发小哥都在用的 Java 终极诊断利器! 关于 Arthas Arthas 是一款开源在线 Java 诊断工具,采用命令行交互模式,支持 web 端在线诊断,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。得益于 Arthas 强大且丰富的功能,让 Arthas 能做的事情超乎想象。 它可以帮你解决这些问题: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到 JVM 的实时运行状态? 怎么快速定位应用的热点,生成火焰图? 有奖征文 为了让更多开发者开始用上 Arthas 这个Java 诊断神器,这一次我们联合 JetBrains 推出这次有奖征文活动,聊聊这些年你和 Arthas 之间的那些事儿

阿里开源的那个牛X的问题排查工具——Arthas,推出IDEA插件了!

喜夏-厌秋 提交于 2020-04-24 02:06:59
作者 | 汪小哥 Arthas 对于很多 Java 开发者来说,已经不可分割了,在我们日常开发、线上问题排查中扮演了非常重要的角色。作为小开发的我,日常需要排查线上运营同学提的各种 bug、各种线上问题诊断、日常运维、线上问题优化等等。 在刚来公司时,我是比较恐惧运维任务的,代码不熟悉、各种问题比较多...几乎崩溃的状态,运维的一周基本上没有干活,完全是全身心投入到运维的任务中,排查问题效率低下。 由于深刻体验到了这种奔溃,我一直想改变这种状态,直到 Arthas 的开源,让我在这种崩溃的状态中减轻了不少负担,同时也让我成为了同事们咨询 Arthas 排查问题的小帮手~~ 虽然使用 Arthas 特别方便,但在此过程中也遇到一些问题,作为问题咨询小帮手也感到有点不方便,因此才造就了 Arthas idea 插件的诞生。 目前 Arthas 来源: oschina 链接: https://my.oschina.net/u/4389538/blog/3434376

让开发部署提速的 IDEA 插件神器攻略(转)

风流意气都作罢 提交于 2020-04-23 07:34:54
让开发部署提速的 IDEA 插件神器攻略 用户2781897 发表于 服务端思维 订阅 448 转自: https://cloud.tencent.com/developer/article/1467258 在这篇文章中: 第一步:配置服务器信息 第二步:配置 Maven 打包插件 第三步:部署 Jar 包 第四步:启动应用 使用 Cloud Toolkit 把应用部署到任意服务器 账号管理 主机管理 Deploy to Host 使用 Cloud Toolkit 把应用部署到 ECS 上传文件 远程 Terminal 内置应用诊断功能 远程连接容易出现异常 文件浏览器过于简陋 缺少远程主机的可视化功能 本文作者: 徐靖峰 | 作者 自从产品经理银时小伙和他的开发小哥们在去年12月发布 Cloud Toolkit (一款 IDE 插件)以来,已帮助数以万计的开发者们提高了业务的部署效率。期间,开发者们不仅是 Cloud Toolkit 的使用者,同时也作为设计者参与了插件的更新迭代。 本文来自开发者徐靖峰,分享了他和 Cloud Toolkit 的故事。 遇见 Cloud Toolkit 在与中间件小姐姐的一次聊天中,偶然间了解到这款插件:“这款免费的 IDE 开发者工具能够使开发部署效率提高 8 倍。”出于好奇心,我就上手体验了一下,看看究竟是一个什么样的产品。使用了一段时间之后

得亏了它,我才把潜藏那么深的Bug挖出来

喜夏-厌秋 提交于 2020-04-18 04:10:27
2020年写了很多事故解决的文章,并不是我绞尽脑汁想出来的,而是真的遇到了这些问题。通过文章的方式记录下来,分享出去,才有意义。 事故背景 首先看下面的图吧,这是我从cat上截的图。 可以看到是一个Rpc调用的错误,从错误中我们只能分析出这个Rpc的请求成功了,并且返回了,因为都走到了反序列化这步。 最后是在创建DTO对象的时候报错了, Could not initalize class xxxxx.DTO 说明了这一点。 作为一个调用方,虽然看到了明确的错误,但还是要本着严谨的态度去排查问题,还是先确认服务提供者到底有没有问题,跟同事确认了,服务提供方没问题,通过telnet可以正常invoke。 好了,到这为止就把背景交代清楚了,能不能将这个潜藏的Bug找出来就各显身手吧。 arthas大显身手 要想效率高,那必须得有好用的工具呀!arthas挺身而出,都毛遂自荐了,不用白不用。 首先使用sc命令查看JVM已加载的类信息,就看这个不能实列化的类到底有没有被成功加载。 sc -d 类全路径 ( 打印类的详细信息 ) 类的信息都被打印出来了,足以证明这个类被加载了。 然后打印下类里面的字段,看看有没有丢失什么的 sc -d -f 类全路径 ( 打印 出 类的 Field 信息 ) 居然报错了,错误还跟我们之前在cat中看到的一模一样,这边也是要是创建对象,然后反射获取所有字段信息

盘点阿里巴巴 15 款开发者工具

可紊 提交于 2020-04-18 00:21:15
简介: 更效率、更优雅 | 阿里巴巴开发者工具不完全盘点 从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。 阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。 从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。 阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。 由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍: 工具名称和简介 使用场景 使用教程 获取方式 一、Java 线上诊断工具 Arthas Arthas 阿里巴巴2018年9月开源的一款Java线上诊断工具。 工具的使用场景: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况?

HSF接口 报错问题排查--阿里大牛的技术功底。。。开眼了。。。

对着背影说爱祢 提交于 2020-04-17 21:28:43
遇到一个诡异的问题: 注意这个方法:我在mz-sys中定义了这个方法:请注意是参数是大Long 不是小long; /* * * hsf 勿动接口,交易结算都在用 * 根据ID查询 * * @param promotionId 参数 * * hsf这个接口有问题 * @return ResultData<PromotionChannelDTO> */ ResultData <PromotionChannelDTO> getPromotionChannelById(Long promotionId); 这个 hsf方法,对方在调用的时候,有时候是好的,有时候有问题,非常奇怪; 我的解决方法: (1)首先去代码里面看看是不是有个这个方法,确实有,也部署到服务器上了,二方包版本也正确。 (2) 于是我把mz-sys的 日常机器和 天启机器全部下掉了; 方法参考: 删除日常和天启机器 新上了两台机器,但是还是不行,一会儿 有错,一会儿 没错, (3) 后来使用了 jad 发现 这个类的参数跟以前比不同了 jad 是个反编译软件 参考: jad使用 jad的安装: jad安装 具体为:选择管理员==> 2、管理员这里选择 组管理员==> 3、进来之后就可以执行: (a) curl -L http://start.alibaba-inc.com/install.sh | sh 然后:as.sh

java应用诊断和在线debug利器bistoury介绍与在K8S环境使用

邮差的信 提交于 2020-04-10 11:37:51
Bistoury介绍 Bistoury 是去哪儿网开源的一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力,可以让开发人员无需登录机器或修改系统,就可以从日志、内存、线程、类信息、调试、机器和系统属性等各个方面对应用进行诊断,提升开发人员诊断问题的效率和能力。 Bistoury 集成了Alibaba开源的 arthas 和唯品会开源的 vjtools ,因此arthas和vjtools相关功能都可以在 Bistoury 中使用。 Arthas和vjtools通过命令行或类似的方式使用,Bistoury在保留命令行界面的基础上,还对很多命令提供了图形化界面,方面用户使用。 Bistoury 英文解释是外科手术刀,含义也就不言而喻了。 Screenshots 通过命令行界面查看日志,使用arthas和vjtools的各项功能 在线debug,在线应用调试神器 线程级cpu监控,帮助你掌握线程级cpu使用率 在web界面查看JVM运行信息,以及各种其它信息 动态给方法添加监控 线程dump Bistoury架构分析 Bistoury核心组件包含agent,proxy,ui: agent : 与需要诊断的应用部署到一起,负责具体的诊断命令执行,通过域名连接proxy proxy:agent的代理,agent启动时会通过ws和proxy连接注册

性能测试如何定位瓶颈?偶发超时?看高手如何快速排查问题

非 Y 不嫁゛ 提交于 2020-04-06 02:32:34
作者 | [张奇(司楚)] 当线上碰到头疼的问题时,还在对着代码一行行的看?真的不太时髦了啊喂~ 俗话说的好 “问题排查不用愁,Arthas 来帮您忙。” 今天就来说说这个让妈妈再也不用担心我排查问题的 Java 诊断神器——Arthas! 什么是 Arthas? Arthas 是一款开源在线诊断工具,采用命令行交互模式,支持 web 端在线诊断,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。这是一款开源一年多 GitHub star 2 万,99% 的阿里研发小哥都在用的 Java 终极诊断利器!相对比直接下载使用,我推荐开发者可以试一下通过 IDE插件 Cloud Toolkit 中使用Arthas 来实现一键远程诊断功能。 得益于 Arthas 强大且丰富的功能,让 Arthas 能做的事情超乎想象。下面仅仅列举几项常见的使用情况,更多的使用场景可以在熟悉了 Arthas 之后自行探索。 是否有一个全局视角来查看系统的运行状况? 为什么 CPU 又升高了,到底是哪里占用了 CPU ? 运行的多线程有死锁吗?有阻塞吗? 程序运行耗时很长,是哪里耗时比较长呢?如何监测呢? 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug

超大福利 | 这款免费 Java 在线诊断利器,不用真的会后悔!

谁说我不能喝 提交于 2020-03-27 16:27:38
3 月,跳不动了?>>> 线上系统为何经常出错?数据库为何屡遭黑手?业务调用为何频频失败?连环异常堆栈案,究竟是哪次调用所为? 数百台服务器意外雪崩背后又隐藏着什么?是软件的扭曲还是硬件的沦丧? 走进科学带你了解 Arthas,一款开源一年多 GitHub Star 2 万,99% 的阿里研发小哥都在用的 Java 终极诊断利器! 关于 Arthas Arthas 是一款开源在线 Java 诊断工具,采用命令行交互模式,支持 web 端在线诊断,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。得益于 Arthas 强大且丰富的功能,让 Arthas 能做的事情超乎想象。 它可以帮你解决这些问题: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 是否有一个全局视角来查看系统的运行状况? 有什么办法可以监控到 JVM 的实时运行状态? 怎么快速定位应用的热点,生成火焰图? 有奖征文 为了让更多开发者开始用上 Arthas 这个Java 诊断神器,这一次我们联合 JetBrains 推出这次有奖征文活动,聊聊这些年你和