jconsole与jvisualvm远程监控tomcat

           最近在用jdk相关辅助工具进行tomcat导致cpu异常高的问题进行分析,今天抽空写一下jconsole与jvisualvm远程监控tomcat配置,后续再写具体的监控分析博文(包括jstack的使用后面抽时间都会写上),jconsole与jvisualvm远程监控tomcat配置具体步骤如下:

  1. 登录到tomcat部署的linux服务器上

  2. 编辑tomcat/bin/catalina.sh,添加远程配置,配置位置如下图:



      

    配置项值为:

    CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.32.130 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"

    此配置主要是对外提供远程访问端口和hostname,以及配置了需要认证等项

     

  3. 编辑jmxremote.access和jmxremote.password

    这里主要是修改jmxremote.password文件,jmxremote.access不要更改即可,两个文件的存放路径是jdk/jre/lib/management目录下



      

    如果原来没有jmxremote.password只有jmxremote.password.template的话,直接拷贝文件改名即可,然后进行修改  vim jmxremote.password ,修改点为将文件最下面注释放开,并进行自定义修改密码。前面的是用户角色,后面是访问密码,如下:

    monitorRole  mzxwswj

    controlRole  mzxwswj



      

  4. 将端口加入防火墙信任列表

    直接编辑vi /etc/sysconfig/iptables,增加新一行内容:

    -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 12345 -j ACCEPT

    注意这个端口必须和catalina.sh配置的一致



      

  5. 启动tomcat

    tomcat/bin目录下执行./startup.sh



      

    因为在tomcat启动的同时会自动将我配置的远程12345端口服务启动,所以这里需要通过命令进行查看,命令为:netstat -an | grep 12345



      

     

  6. jvisualvm连接远程tomcat服务

    在自己本地电脑上jdk/bin目录下找到jvisualvm.exe,然后进行远程连接设置,如下图:



      

    登录后就可以对其进行相应的监控了,如下图:



      

     

  7. jconsole连接远程tomcat服务

    同样在自己本地电脑上jdk/bin目录下找到jconsole.exe,然后进行远程连接设置,如下图:



      

    登录后就可以对其进行相应的监控了,如下图:



      

     

  8. 易错点

    防火墙问题:

    systemctl stop firewalld.service

    Tomcat启动失败:

    切换到tomcat/logs目录下,查看日志文件catalina.out对错误信息进行分析

 

    登录用户、密码不对

    monitorRole  mzxwswj
    controlRole   mzxwswj

猜你喜欢

转载自626333422-qq-com201110121851.iteye.com/blog/2371216
今日推荐