现在有很多企业都把自家的应用集群部署在docker容器里,使用k8s统一编排会更加灵活。不过这样的话查看日志可能就没那么方便,有的公司有elk日志监控,有的没有。比如我同事的公司就没有,所以我们每次查看日志就显得有些麻烦,首先我们要先去云服务厂商找到部署该应用的ip,然后再使用ssh工具登录该服务器,再去查询到该服务的docker容器id进入docker容器内后,再去tailf 日志文件;这一连串的操作就让人头大。并且有的时候某些方法没有打印日志,这就加大了我们排查问题的难度。
今天就给大家介绍一款非常实用的工具,可以实时监控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命令行,回车,然后去触发请求即可看到监控结果。
命令行和监控到的结果
希望大家有条件的可以回去试一下,真的很好用,如果好用不妨给作者点个赞大家的支持就是作者的动力。加油
本文暂时没有评论,来添加一个吧(●'◡'●)