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

内容分享4小时前发布
0 3 0

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

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

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

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

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

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

在Windows中的效果,linux类似

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

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

插件arthas idea

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

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

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

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

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

成功启动arthas的界面

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

成功进入arthas命令行的界面

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

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

拷贝arthas监控命令

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

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

命令行和监控到的结果

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

© 版权声明

相关文章

3 条评论

  • 头像
    旺仔百事通 投稿者

    加油加油!感谢作者的分享

    无记录
    回复
  • 头像
    李双麟 读者

    感谢

    无记录
    回复
  • 头像
    囡囡 读者

    收藏了,感谢分享

    无记录
    回复