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