JVM远程监控

jvm远程监控jstatd配置

1、首先在远程机器上配置好Java环境:JAVA_HOME,CLASSPATH,PATH
配置完之后,在cmd里面通过:java  -version和javac  -version,确定Java环境配置完成

2、创建一个文件:jstatd.all.policy(名字可以变,扩展名不可以变),内容如下:
	
       grant codebase "file:${java.home}/../lib/tools.jar" {
       permission java.security.AllPermission;
	};
   这个文件的作用是让jstatd服务能够读取机器上的java应用程序的运行数据

3、把这个文件放到:%JAVA_HOME%\bin目录下。

4、打开cmd,把目录切到:%JAVA_HOME%\bin目录下,然后执行如下命令:
	
	jstatd -J-Djava.security.policy=jstatd.all.policy


5、如果客户端无法连接jstatd,试试下面的办法是否能够解决文件。
	(1)用hostname -i 命令查看返回的IP地址是不是127.0.0.1,如果是的话则说明是其它原因造成,无需再往下看了,否则进行入第2步。
	(2)打开/etc下的hosts文件,将其中的“127.0.0.1   机器名”改成"你机器的IP  机器名"。
	           例如:将127.0.0.1  ubuntuServer,改成192.168.1.99  ubuntuServer
	(3)重新启动jstatd进程。
	
	
jmx配置

	cd $JAVA_HOME/jre/lib/management
	cp jmxremote.password.template jmxremote.password
	chmod -R 600 jmxremote.password
	
	将jmxremote.password中的权限部分注释标记去除。
	# password "QED".  The "controlRole" role has password "R&D".
	#
	# monitorRole  QED
	# controlRole   R&D
	修改为:
	monitorRole  QED
	controlRole   R&D
	
	将setenv.sh文件放入到tomcat的bin目录下


-- tomcat7远程调试配置

如果使用下面的步骤无法完成远程调试,请直接阅读catalina.sh脚本中的注释,会有讲解如何配置jpda

bin/startup.sh 最后一句改为  exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"

bin/catalina.sh 最前面增加下面两个配置,可以根据里面的注释做相应的修改
		JPDA_ADDRESS=9999
		JPDA_SUSPEND=n
	
使用命令 ./bin/startup.sh 启动 tomcat7,查询启动日志是否正常
	
使用命令 netstat -an | grep 9999 查询端口是否已经开始监听
	
Eclipse中右击项目,选择 Debug As -> Debug Configurations。。。 -> Remote Java Application -> 右击选择NEW 
	在弹出的窗口中填写Host与Port,点击Debug即可

猜你喜欢

转载自oedy.iteye.com/blog/2374347
今日推荐