一、Jstatd远程监控服务器配置

jstat可以实时显示本地或远程JVM进程中类装载、内存、垃圾收集、JIT编译等数据。如果要显示远程JVM信息,需要远程主机开启RMI支持,详情如下:

1. 在JAVA_HOME/bin目录下创建jstatd服务器授权文件jstatd.all.policy,代码如下:

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

permission java.security.AllPermission;

};

2. 切换到java/bin目录下,启动Jstatd服务器,执行命令:

./jstatd -J-Djava.security.policy=jstatd.all.policy

注:这时候能启动正常,但是后面本地用 jvisualvm 的时候可能抛异常。

据查,有两种方法解决:
一种是把 /etc/hosts中的ip改成实际的IP,然后重启网络。

另一种是,在jstatd后加hostname的参数,如:

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.2

3. 如若出现端口占用问题,在启动jstatd服务器时选择其它端口。

//查看端口是否被占用
netstat -ano | grep -i 1099

//启动jstatd服务器时,指定其它端口
rmiregistry 2030 & jstatd -J-Djava.security.policy=jstatd.all.policy -p 2030

至此,远程服务器配置完成

4.打开JAVA_HOME/bin目录下的 jvisualvm.exe

在远程上右键,添加远程主机,输入远程服务器IP

在添加的远程主机上右键,添加jstatd连接

可参考:http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstatd.html


二、JXM远程监控服务器配置

检查远程服务器host是否是127.0.0.1 , 执行命令 hostname -i 如果是127.0.0.1 。

在etc/hosts 文件中将127.0.0.1改为主机IP,如果不能保存,改权限

chmod +x hosts

在linux下tomcat安装目录下的bin文件夹中的catalina.sh文件中添加如下:

JAVA_OPTS=”-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=服务器IP”

位置:

#OS specific support. $var _must_ be set to either true or false. //后面

这是不加认证的。以上配置是需要关闭防火墙,如果想不关闭防火墙来访问。需要在iptables里把1099端口给公布出去。

 

至此,远程服务器配置完成。

打开JAVA_HOME/bin目录下的 jvisualvm.exe

在远程上右键,添加远程主机,输入远程服务器IP

在添加的远程主机上右键,添加JMX连接

 

 

参考:http://www.open-open.com/lib/view/open1421199778031.html

posted on 2017-03-07 10:54  浮沉一梦  阅读(1447)  评论(0编辑  收藏  举报