使用jdk的jconsole.exe对远程java进行监控
按照步骤都说先安装jdk,然后安装tomcat,但是一般想要监控的人肯定在就安装好了。
剩下的步骤基本分为4步
1、配置tomcat的 catalina.sh
2、如果需要监控加认证访问的话,那就再配资一下jdk
3、就是防火墙
4、配置hosts
参考网站:
http://wangzan18.blog.51cto.com/8021085/1692444
http://tomcat.apache.org/tomcat-8.0-doc/monitoring.html
1、vim bin/catalina.sh
随便在哪里添加一下代码(别的帖子都说是在# ----- Execute The Requested Command -----------------------------------------这句话的前面或者后面)
不需要让问控制的配置方法:
CATALINA_OPTS="-Djava.rmi.server.hostname=115.29.174.36 -Dcom.sun.management.jmxremote <!-- 允许远程监控 --> -Dcom.sun.management.jmxremote.port=9876 <!--监听的端口 --> -Dcom.sun.management.jmxremote.ssl=false <!-- 是否需要ssl访问 --> -Dcom.sun.management.jmxremote.authenticate=false" <!-- 是否加密 -->
需要访问控制的配置方法:
把上面最后一行改成下面的第一行,并且添加后两行 -Dcom.sun.management.jmxremote.authenticate=true <!-- 远程访问需要访问控制 --> -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password <!-- 加密的密码位置 --> -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access <!-- 加密的用户名位置 --> 后面的两个文件位置是: jdk-1.7.0/jre/lib/management
(中间没有换行,这里只是为了好看。)
2、配置jdk中的用户验证文件
cd jdk-1.7.0/jre/lib/management
[root@centos01 management]# ls jmxremote.access jmxremote.password management.properties snmp.acl.template
- vim jmxremote.password
最后两行取消注释,前面是用户名,后面是密码
这两行的两个用户名一个是只读一个是读写,只读或者读写的权限是在 mxremote.access 这个文件中定义的
# Following are two commented-out entries. The "measureRole" role has # password "QED". The "controlRole" role has password "R&D". # monitorRole QED controlRole R&D
- vim mxremote.access,也是注释后面两端,可以看到这里对勇者password文件中的用户名,这里的用户名都可以更改但是一定要和password对应
# o The "controlRole" role has readwrite access and can create the standard
# Timer and Monitor MBeans defined by the JMX API.
monitorRole readonly
controlRole readwrite \
create javax.management.monitor.*,javax.management.timer.* \
unregister
修改好保存好以后保存退出,重启刚才修改catalina.sh的tomcat
然后就观察一下端口
[root@wadb management]# netstat -tunlp | grep 9876 tcp 0 0 0.0.0.0:9876 0.0.0.0:* LISTEN 17964/java
3、修改防火墙
因为这个jmx监控走的不是只有tcp协议,所以只开放tcp的对应端口没有用,我就把公司的ip给放开了
iptables -A INPUT -s 1.1.1.1 -j ACCEPT #这样就把1.1.1.1这个ip不管什么协议都放开了
4、修改hosts
如果我们的服务器是 10.1.1.1 这个ip,那么我们需要将127.0.0.1 localhost 这一条hosts进行修改,把前面的127.0.0.1改成10.1.1.1这个公网的ip
修改完以后我们就可以通过命令查看到
[root@centos management]# hostname -i 10.0.0.1
#只要有这个ip就可以,也就是说可以有多个ip,以为有时候我们还需要设置内网ip之类的
5、现在我们就可以使用远程监控这台服务器上的tomcat的内容了
在电脑上安装一个jdk
然后进到jdk中

双击红框的这个程序


最后就可以看到了



浙公网安备 33010602011771号