服务器是linux,我们远程在window系统上监控
使用JMX方式
cd $JAVA_HOME/jre/lib/management
首先利用password.template文件创建jmxremote.password文件,并且设置相应的读写权限。
cp jmxremote.password.template jmxremote.password
修改jmxremote.password的文件权限,否则报错必须限制口令文件读取访问权限:jmxremote.password
Chmod –R 600 jmxremote.password
将jmxremote.password中的权限部分注释标记去除。
# password "QED". The "controlRole" role has password "R&D".
#
# monitorRole QED
# controlRole R&D
修改为:
monitorRole QED
controlRole R&D
"jmxremote.password" 64L, 2852C written
因为之前在/etc/init.d/tomcat里写过tomcat的启动脚本如下
export JAVA_HOME=/usr/local/java
JVM_OPTS_XMS="-Xms1024m"
JVM_OPTS_XMX="-Xmx4096m"
JVM_OPTS_SIZE="-XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"
CATALINA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server $JVM_OPTS_XMS $JVM_OPTS_XMX $JVM_OPTS_SIZE"
JAVA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/local/tomcat7/lib -Djava.security.egd=file:/dev/./urandom"
export CATALINA_OPTS
export JAVA_OPT
修改JAVA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/local/tomcat7/lib -Djava.security.egd=file:/dev/./urandom -Dcom.sun.management.jmxremote.port=9527 -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.10.95.62 -Dcom.sun.management.jmxremote.ssl=false"
修改完以后重启tomcat
Windows上安装jdk,在安装目录的bin下启动jconsole,并键入以上信息,就可以监控了