环境:java
os:centos7linux
jdk version: oracle官方下载1.8.0_111apache
tomcat:apache-tomcat-8.0.39.tar.gzvim
一:jconsolewindows
废话少说,直接上配置:centos
1》#vim /usr/local/tomcat/bin/setenv.shtomcat
CATALINA_OPTS="-server -Xms256m -Xmx300m -Xss512k -XX:PermSize=128m -XX:MaxPermSize=256m"服务器
JAVA_OPTS="-Djava.rmi.server.hostname=192.168.233.130oracle
-Dcom.sun.management.jmxremote tcp
-Dcom.sun.management.jmxremote.port=8008
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
以上是jconsole客户端远程链接无需用户名密码认证的配置。
2》 因为tomcat jmx监听端口是随机分配的,因此这种方式必须关闭iptables。下面来看看怎么指定端口分配并加上密码验证:
cd /usr/local/tomcat/conf
cp /usr/java/jdk1.8.0_111/jre/lib/management/jmxremote.access ./
cp /usr/java/jdk1.8.0_111/jre/lib/management/jmxremote.password.template ./jmxremote.password
chmod 600 jmxremote.access jmxremote.password
jmxremote.access 通常保持原始内容不变便可。
对于jmxremote.password,将其中的:
monitorRole linuxeye
controlRole linuxeye
井号注释取消掉。其中monitorRole为只拥有只读权限的角色,controlRole有更高权限:读写等等。
新增tomcat/bin/setenv.sh
CATALINA_OPTS="-server -Xms256m -Xmx300m -Xss512k -XX:PermSize=128m -XX:MaxPermSize=256m"
JAVA_OPTS="-Djava.rmi.server.hostname=192.168.233.130
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access"
下载catalina-jmx-remote.jar,放到tomcat/lib目录下
cd tomcat/lib
wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.39/bin/extras/catalina-jmx-remote.jar
编辑server.xml:
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
....
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="8081" rmiServerPortPlatform="8082" />
最后将固定的端口加入防火墙信任列表
iptables -A INPUT -p tcp --dport 8081 -j ACCEPT
iptables -A INPUT -p tcp --dport 8082 -j ACCEPT
重启tomcat
可使用netstat -an | grep -E '8081|8082'命令查看端口是否正常启动。
打开windows java安装路径Java\jdk1.7.0_71\bin\jconsole.exe,输入服务器端相关信息:
点击"链接",进入监控页面: