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

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,用jconsole mylinuxServername:12345,你的mylinuxServername要在hostname -f中的那个,如果hostname -f失败,那么修改linux的/etc/hosts文件,注释掉前面所有,加上192.161.1.123 mylinuxServername localhost这句,重启一下linux的network即可。
(2)修改windows的hosts文件,添加192.161.1.123 mylinuxServername,然后重启网络。最好也重启一下windows系统。
(3)把linux的java程序重启,jconsole mylinuxServername :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


猜你喜欢

转载自nannan408.iteye.com/blog/2095023