linux集群之----jconsole远程监控JVM

weixiaohuai 2014-07-22

1.前言。

如题。

2.实现。

(1)设置java环境,在linux机器上面执行vi/etc/profile后,新增如下

JRE_HOME=/usr/java/jdk1.7/jre
  PATH=$PATH:$JRE_HOME/bin
  CLASSPATH=:$CLASSPATH:$JRE_HOME/lib
  export   JRE_HOME PATH CLASSPATH

然后启动需要监控的程序:

java -Djava.rmi.server.hostname=192.161.1.123 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345  -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar test.jar

(2)windows控制台输入

jconsole 192.161.1.123:12345

即可。

注意事项:如果提示SSL1,SSL2没权限。

(1)可以修改windows的hosts,用jconsolemylinuxServername:12345,你的mylinuxServername要在hostname-f中的那个,如果hostname-f失败,那么修改linux的/etc/hosts文件,注释掉前面所有,加上192.161.1.123mylinuxServernamelocalhost这句,重启一下linux的network即可。

(2)修改windows的hosts文件,添加192.161.1.123mylinuxServername,然后重启网络。最好也重启一下windows系统。

(3)把linux的java程序重启,jconsolemylinuxServername:12345注意这里不是ip了,是主机名字。一直点进去即可。

3。增加密码功能

参照

如需密码验证

       JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345"
       JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
       JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
       JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file=/usr/java/jdk1.6.0_02/jre/lib/management/jmxremote.password"


       2.将/usr/java/jdk1.6.0_02/jre/lib/management下的jmxremote.password.template,拷贝一份叫jmxremote.password。进去将内容全部删去,添加一行

controlRole   R&D    (用户名,密码)

 

       3.将jmxremote.password和jmxremote.access改成600权限,和所属该程序用户

chown jboss:jboss jmxremote.access  jmxremote.password

chmod 600 jmxremote.access  jmxremote.password

 

之后在JConsole里添加用户名,密码就可以了。

 

注:如果JConsole不能访问本机的程序的话,在java opt里添加如下内容:

       -Dcom.sun.management.jmxremote
摘自:http://java-boy.iteye.com/blog/608438

相关推荐