VisualVm 通过JMX连接远程监控Tomcat(docke
条件
服务器已经安装了docker和docker-compose,本地安装VisualVm ,如何不是docker版本启动的tomcat可以查看:VisualVm 通过JMX连接远程监控Tomcat
编写docker-compose.yml文件
示例是在/usr/local 目录下编写的docker-compose.yml文件
vi docker-compose.yml
以下为docker-compoe.yml文件内容:
version: '3'
services:
tomcat:
image: tomcat:8
ports:
- "80:8080"
- "9008:9008"
volumes:
- /usr/local/docker-config/tomcat/webapps:/usr/local/tomcat/webapps
- /usr/local/docker-config/tomcat/logs:/usr/local/tomcat/logs
- /usr/local/docker-config/tomcat/conf:/usr/local/tomcat/conf
environment:
- JAVA_OPTS=-Dcom.sun.management.jmxremote.rmi.port=9008 -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=<ip>
注意:其中<ip>更换为你自己的服务器IP地址
创建docker挂载tomcat的相关文件:
创建/usr/local/docker-config/tomcat文件夹(示例将所有的docker挂载文件都放在/usr/local/docker-config目录中)
mkdir -p /usr/local/docker-config/tomcat
进入到tomcat目录
cd /usr/local/docker-config/tomcat
直接使用docker 运行一个tomcat容器:
docker run -d tomcat:8
控制台将会返回该容器的id,记住前三位即可(示例前三位为:c0b)
依次执行下列三条语句复制容器中的webapps、logs、conf到本机 /usr/local/docker-config/tomcat
docker cp c0b:/usr/local/tomcat/webapps /usr/local/docker-config/tomcat
docker cp c0b:/usr/local/tomcat/logs /usr/local/docker-config/tomcat
docker cp c0b:/usr/local/tomcat/config /usr/local/docker-config/tomcat
注意:c0b为容器id,并且复制完成后关闭刚才开启的容器。
使用docker-compose启动容器
直接在docker-compose.yml的文件目录下运行docker-comose up,这样使用docker安装的tomcat已经在运行了。
VisualVm连接配置
打开VisualVm添加远程主机,主机名写入你的ip地址,显示名可以自定义
添加远程主机然后在添加jmx连接,
添加JMX连接在你的ip地址后面直接填写在第三步配置的端口9008(此端口可以任意修改)点击确定就可以连接了
配置JMX连接端口完成