使用jdk自带的工具监控tomcat服务器
环境:os:centos7
jdk version: oracle官方下载1.8.0_111
tomcat:apache-tomcat-8.0.39.tar.gz
一:jconsole
废话少说,直接上配置:
1》#vim /usr/local/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.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,将其中的:
[*] monitorRolelinuxeye
[*] controlRolelinuxeye
井号注释取消掉。其中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:
[*]
[*]
[*] ....
[*]
最后将固定的端口加入防火墙信任列表
[*] 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,输入服务器端相关信息:
点击"连接",进入监控页面:
页:
[1]