专业的JAVA编程教程与资源

网站首页 > java教程 正文

使用arthas实时追踪docker容器上部署的Java程序的方法出入参

temp10 2025-03-11 21:22:13 java教程 160 ℃ 0 评论

现在有很多企业都把自家的应用集群部署在docker容器里,使用k8s统一编排会更加灵活。不过这样的话查看日志可能就没那么方便,有的公司有elk日志监控,有的没有。比如我同事的公司就没有,所以我们每次查看日志就显得有些麻烦,首先我们要先去云服务厂商找到部署该应用的ip,然后再使用ssh工具登录该服务器,再去查询到该服务的docker容器id进入docker容器内后,再去tailf 日志文件;这一连串的操作就让人头大。并且有的时候某些方法没有打印日志,这就加大了我们排查问题的难度。

使用arthas实时追踪docker容器上部署的Java程序的方法出入参

今天就给大家介绍一款非常实用的工具,可以实时监控java程序中的某一个方法的出参入参,排查问题非常方便。

前置条件:服务器上有部署在docker上的应用。

1.首先需要在服务器上(宿主机,不是容器内)安装arthas这个程序;去这个网址下载
https://arthas.aliyun.com/doc/download.html,然后上传至服务器,解压、效果如下。

在Windows中的效果,linux类似

2.在idea开发工具中安装插件arthas idea,重启生效;

插件arthas idea

3.使用ssh工具登录宿主机,先查询出该服务的容器id;

docker ps | grep 应用名    #查询出要监控的应用信息,主要是知道容器id

4.进入arthas程序目录下执行如下命令,会出现下图,找到自己程序的启动类输入数字(我的是5),看到下面的成功进入arthas界面即可:

sh as.sh 容器id  #启动arthas,监控该容器

成功启动arthas的界面

成功进入arthas命令行的界面

5.在idea中找到自己想要监控的方法,右键选中Arthas Command => Watch;

拷贝arthas监控命令

6.粘贴在服务器的arthas命令行,回车,然后去触发请求即可看到监控结果。

命令行和监控到的结果

希望大家有条件的可以回去试一下,真的很好用,如果好用不妨给作者点个赞大家的支持就是作者的动力。加油

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表