VisualVM远程监控连接方法



 1. 通过jstatd启动RMI服务

        配置java安全访问,将如下的代码存为文件jstatd.all.policy,放到JAVA_HOME/bin中,其内容如下,

        grant codebase "file:${java.home}/../lib/tools.jar" {

               permission java.security.AllPermission;

          };
            
          执行命令jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.8 &(192.168.1.8  为你服务器的ip地址,&表示用守护线程的方式运行)

            jstatd -p 10990 -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=123.56.40.164
          jstatd命令详解 :http://hzl7652.iteye.com/blog/1183182 
         
          打开jvisualvm, 右键Remort,选择 "Add Remort Host...",在弹出框中输入你的远端IP,比如192.168.1.8. 连接成功.  
       


2, 使用JMX方式

 

[root@bspdev jdk1.7.0_09]# cd $JAVA_HOME/jre/lib/management

[root@bspdev management]# pwd

/usr/java/jdk1.7.0_09/jre/lib/management

[root@bspdev management]# ls -l

total 28

-rw-r--r-- 1 root root  3998 Sep 25  2012 jmxremote.access

-rw-r--r-- 1 root root  2856 Sep 25  2012 jmxremote.password.template

-rw-r--r-- 1 root root 14097 Sep 25  2012 management.properties

-rw-r--r-- 1 root root  3376 Sep 25  2012 snmp.acl.template

 

首先利用password.template文件创建jmxremote.password文件,并且设置相应的读写权限。

[root@bspdev management]# cp jmxremote.password.template jmxremote.password

[root@bspdev management]# ls -l

total 32

-rw-r--r-- 1 root root  3998 Sep 25  2012 jmxremote.access

-rw-r--r-- 1 root root  2856 Jul  5 06:09 jmxremote.password

-rw-r--r-- 1 root root  2856 Sep 25  2012 jmxremote.password.template

-rw-r--r-- 1 root root 14097 Sep 25  2012 management.properties

-rw-r--r-- 1 root root  3376 Sep 25  2012 snmp.acl.template

[root@bspdev management]#

 

修改jmxremote.password的文件权限,否则报错必须限制口令文件读取访问权限:jmxremote.password

chmod 600 jmxremote.password

如果启动账号不是自己,需要修改文件owner:  sudo chown xxx 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

 

增加jvm参数

  -Dcom.sun.management.jmxremote.port=8999 -Djava.rmi.server.hostname=被连接的机器IP -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true" 

  

连接时输入账号和密码

controlRole   R&D

  
需要用户名和密码访问方式
        JAVA_OPTS='-Xms128m -Xmx256m -XX:MaxPermSize=128m
        -Djava.rmi.server.hostname=192.168.1.8
        -Dcom.sun.management.jmxremote.port=8088
        -Dcom.sun.management.jmxremote.ssl=false
        -Dcom.sun.management.jmxremote.authenticate=true
        -Dcom.sun.management.jmxremote.password.file=/usr/java/default/jre/lib/management/jmxremote.password
        -Dcom.sun.management.jmxremote.access.file=/usr/java/default/jre/lib/management/jmxremote.access'
          (jmxremote.access 在JAVA_HOME\jre\lib\management下有模板)


 1. 通过jstatd启动RMI服务

        配置java安全访问,将如下的代码存为文件jstatd.all.policy,放到JAVA_HOME/bin中,其内容如下,

        grant codebase "file:${java.home}/../lib/tools.jar" {

               permission java.security.AllPermission;

          };
            
          执行命令jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.8 &(192.168.1.8  为你服务器的ip地址,&表示用守护线程的方式运行)

            jstatd -p 10990 -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=123.56.40.164
          jstatd命令详解 :http://hzl7652.iteye.com/blog/1183182 
         
          打开jvisualvm, 右键Remort,选择 "Add Remort Host...",在弹出框中输入你的远端IP,比如192.168.1.8. 连接成功.  
       


2, 使用JMX方式

 

[root@bspdev jdk1.7.0_09]# cd $JAVA_HOME/jre/lib/management

[root@bspdev management]# pwd

/usr/java/jdk1.7.0_09/jre/lib/management

[root@bspdev management]# ls -l

total 28

-rw-r--r-- 1 root root  3998 Sep 25  2012 jmxremote.access

-rw-r--r-- 1 root root  2856 Sep 25  2012 jmxremote.password.template

-rw-r--r-- 1 root root 14097 Sep 25  2012 management.properties

-rw-r--r-- 1 root root  3376 Sep 25  2012 snmp.acl.template

 

首先利用password.template文件创建jmxremote.password文件,并且设置相应的读写权限。

[root@bspdev management]# cp jmxremote.password.template jmxremote.password

[root@bspdev management]# ls -l

total 32

-rw-r--r-- 1 root root  3998 Sep 25  2012 jmxremote.access

-rw-r--r-- 1 root root  2856 Jul  5 06:09 jmxremote.password

-rw-r--r-- 1 root root  2856 Sep 25  2012 jmxremote.password.template

-rw-r--r-- 1 root root 14097 Sep 25  2012 management.properties

-rw-r--r-- 1 root root  3376 Sep 25  2012 snmp.acl.template

[root@bspdev management]#

 

修改jmxremote.password的文件权限,否则报错必须限制口令文件读取访问权限:jmxremote.password

chmod 600 jmxremote.password

如果启动账号不是自己,需要修改文件owner:  sudo chown xxx 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

 

增加jvm参数

  -Dcom.sun.management.jmxremote.port=8999 -Djava.rmi.server.hostname=被连接的机器IP -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true" 

  

连接时输入账号和密码

monitorRole  QED            (QED为密码)

  
需要用户名和密码访问方式
        JAVA_OPTS='-Xms128m -Xmx256m -XX:MaxPermSize=128m
        -Djava.rmi.server.hostname=192.168.1.8
        -Dcom.sun.management.jmxremote.port=8088
        -Dcom.sun.management.jmxremote.ssl=false
        -Dcom.sun.management.jmxremote.authenticate=true
        -Dcom.sun.management.jmxremote.password.file=/usr/java/default/jre/lib/management/jmxremote.password
        -Dcom.sun.management.jmxremote.access.file=/usr/java/default/jre/lib/management/jmxremote.access'
          (jmxremote.access 在JAVA_HOME\jre\lib\management下有模板)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值