一、导读
线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!是否有一个全局视角来查看系统的运行状况? 答案是必须有,主角就是Arthas,Arthas是阿里爸爸开源出来的一款java监控工具,命令行操作,完全面向开发人员,其专业行令人发指
二、windows环境下面安装使用
启动方式(2种)
- 用as.sh启动,进入解压后的根目录,命令行运行如下命令,13000是需要监控的java PID 进程,window系统直接打开任务管理器就可以看到应用的pid
./as.sh 13000
- 用arthas-boot启动,13000也是pid
java -jar arthas-boot.jar 13000
三、centos Docker容器环境下面安装
centos环境就是直接运行jar包即可,这里就不介绍了,讲一下docker容器环境里面如何监控。
- 使用Dockerfile创建容器,xxxx.jar就是demo springboot项目,自行替换,还使用了tini这个是弥补alpinejdk的问题。
FROM openjdk:8-jdk-alpine
COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas
ADD xxxx.jar app.jar
RUN apk add --no-cache tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
RUN apk add tini
ENTRYPOINT ["tini", "java", "-jar", "app.jar", "--spring.profiles.active=prod"]
创建好容器之后需要进入容器,然后运行arthas.jar,docker监控的方式很多,这里就介绍一种。