最近偶尔有用户反馈某些 HTTP 接口出现超时问题,而 web 服务端的 Trace 监控没有出现 http 返回值为 503 等异常情况。出现这种情况一般是web容器出现问题,客户端连
Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。
Github:
https://github.com/alibaba/arthas
文档:
https://alibaba.github.io/arthas
Arthas 3.1.2版本持续增加新特性,下面重点介绍:
查看logger信息,更新logger level
https://alibaba.github.io/arthas/logger.html
以下面的 logback.xml 为例:
使用 logger 命令打印的结果是:
从appenders的信息里,可以看到
查看指定名字的logger信息
dump java heap, 类似jmap命令的 heap dump功能。
查看,更新VM诊断相关的参数
之前有用户吐槽,不小心退出Arthas console之后,shutdown会关闭系统,因此增加了stop命令来退出arthas,功能和shutdown命令一致。
在新版本里,增加了arthas tunnel server的功能,用户可以通过tunnel server很方便连接不同网络里的arthas agent,适合做统一管控。
在启动arthas,可以传递--tunnel-server参数,比如:
目前47.75.156.201是一个测试服务器,用户可以自己搭建arthas tunnel server
如果有特殊需求,可以通过--agent-id参数里指定agentId。默认情况下,会生成随机ID。
attach成功之后,会打印出agentId,比如:
如果是启动时没有连接到 tunnel server,也可以在后续自动重连成功之后,通过 session命令来获取 agentId:
以上面的为例,在浏览器里访问 http://47.75.156.201:8080/ ,输入 agentId,就可以连接到本机上的arthas了。
https://github.com/alibaba/arthas/blob/master/tunnel-server/README.md
提示符修改为arthas@pid形式,用户可以确定当前进程ID,避免多个进程时误操作
增加ctrl + k清屏快捷键
总之,3.1.2版本的Arthas新增加了logger/heapdump/vmoption/stop命令,增加了tunnel server,方便统一管控。另外还有一些bug修复等,可以参考
Release Note
最后,Arthas的在线教程考虑重新组织,欢迎大家参与,提出建议,详情参考
这里。
本文作者:中间件小哥
本文为云栖社区原创内容,未经允许不得转载。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69915408/viewspace-2659585/ ,如需转载,请注明出处,否则将追究法律责任。