JConsole、VisualVM远程监控
作用:监控分析:java运行线程、内存、类加载等信息。
一、远程监控的tomcat上配置catalina.sh
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.202.121 -Dcom.sun.management.jmxremote"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/lib/management/jmxremote.password"
其中192.168.202.121是你服务器外网的ip,12345为远程连接的端口,最后的配置是你jdk下jmxremote.password的路径
如果找不到jdk安装路径:echo $JAVA_HOME
二、配置权限文件
[root@localhost bin]# cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/jre/lib/management/
[root@localhost management]# cp jmxremote.password.template jmxremote.password
[root@localhost management]# vi jmxremote.password
放开注释,controlRole 为账号,wcx为密码
monitorRole QED
controlRole wcx
配置权限文件为600
[root@localhost management]# chmod 600 jmxremote.password jmxremote.access
三、注意事项
网上有人说要关闭防火墙、还有把hosts文件中127.0.0.1改为服务器外网的ip,但是我在尝试的过程中没有更改这些配置也是可以的。
vi /etc/hosts