使用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中

双击红框的这个程序

 

 

最后就可以看到了

 

posted @ 2016-08-24 10:41  wawahan  阅读(194)  评论(0)    收藏  举报