JConsole监控远程WebLogic和Tomcat

来源:互联网 发布:java变量命名规则$ 编辑:程序博客网 时间:2024/06/03 22:48

JConsole可以对远程主机上的Java进程的内存使用情况进行监控。本文将讲解如何使用JConsole监控远程主机上的WebLogic和Tomcat。

一、环境

1、本机环境:Windows XP+JConsole(jdk1.6)

2、远程环境1:sunos(solaris、jdk1.6)+WebLogic

3、远程环境2:RedHat(jdk1.6)+Tomcat

本文将介绍两种环境下的配置,两者配置基本上一样,其他的系统应该也差不多。

二、远程连接sunos(solaris)+weblogic

1、jconsole使用jmx进行监控,需要在应用启动时,配置启动参数。因为使用的是weblogic服务器,故需要在${DOMAIN_HOME}/bin/setDomainEnv.sh环境中进行配置。
JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.port=9000"
JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.ssl=false"
2、查看/etc/hosts,默认情况下,已经将hostname对应到ip上了,故此处不需要进行调整。 ::1          localhost
127.0.0.1    localhost
10.1.97.20  c20 c20.sinosure.com.cn loghost


3、将${JAVA_HOME}/jre/lib/management目录属性进行修改
chmod -R 777 ./management

4、启动weblogic,并在本地开启jconsole进行远程连接,选择“远程进程”,输入主机IP和端口号。

JConsole监控远程WebLogic和Tomcat

点击“连接”,显示监控界面:

JConsole监控远程WebLogic和Tomcat

注意:在启动和关闭weblogic时,都会调用setDomainEnv.sh脚本。如果配置完成并且启动weblogic后,再关闭weblogic时,会提示端口号已被占用,此问题是因为启动和关闭weblogic时,都会启动对该端口号的监听程序。可以考虑在setDomainEnv.sh中增加一个判断,只有在启动weblogic时,才启动对该端口号的监听。

三、远程连接redhat+tomcat

1、同上一节第一步,不同的是,tomcat在启动时,设置参数的文件时catalina.sh,因此参数需在此设置。
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.1.110""
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9000"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

2、对于redhat,默认情况下,hostname没有对应到ip。在redhat上,可使用hostname -i查看,如果显示的是127.0.0.1,那就需要配置/etc/hosts。
#127.0.0.1              localhost.localdomain localhost
192.168.1.110          localhost.localdomain localhost

注意:将127.0.0.1那一行注释,然后将hostname对应到192.168.1.110。

3、配置${JAVA_HOME}/jre/lib/management目录下的文件。
cp jmxremote.password.template jmxremote.password

将注释掉的内容还原:
monitorRole  QED
controlRole  R&D

执行命令,修改文件属性:
chmod 600 jmxremote.access
chmod 600 jmxremote.password

4、可参考上一节的第四步。

注意:在启动和关闭tomcat时,都会调用catalina.sh脚本。如果配置完成并且启动tomcat后,再关闭tomcat时,会提示端口号已被占用,此问题是因为启动和关闭tomcat时,都会启动对该端口号的监听程序。可以考虑只有在启动tomcat时,通过判断参数为start时,才启动对该端口号的监听。

通过以上的配置,可以看出在sunos系统和redhat系统上的配置不完全一致,同样在tomcat中的配置也不完全一致,需要注意差异。

 四、校验及异常处理

1、启动后,系统会启动对配置端口的监听,可通过命令查看是否正常启动:
netstat -an | grep 9000

如果有在监听,说明启动正常。

2、在启动jconsole后,提示连接不上,但是在远程主机上发现该端口已经被连接上(可通过netstat -an查看)。
 检查配置是否有误;或者查看防火墙是否关闭。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 两岁的宝宝蛀牙怎么办 小孩在学校被打怎么办 油画棒画在墙上怎么办 宝宝把蜡笔吃了怎么办 吃鸡更新了怎么办开始 数字画涂料干了怎么办 广告画颜料干了怎么办 宝宝断奶后瘦了怎么办 腿一个粗一个细怎么办 两条小腿不一样粗怎么办 两岁宝宝坐不了怎么办 q糖孩子吃多了怎么办 q糖孩子吃的太多怎么办 ps图层不能覆盖怎么办 孩子的字写的不好怎么办 孩子爱打人怎么办 6招 一岁宝宝爱打人怎么办 2岁小朋友爱打人怎么办 小朋友爱动手怎么办4岁 5,6岁爱动手打人怎么办 七个月宝宝大便干燥怎么办 两岁宝宝吐奶怎么办 2岁宝宝轻微蛀牙怎么办 2岁宝宝喝水都吐怎么办 2岁宝宝吐的厉害怎么办 两岁宝宝个子矮怎么办 宝宝吐了一天了怎么办 3岁宝宝吃饭呕吐怎么办 3岁宝宝突然呕吐怎么办 11个月婴儿呕吐怎么办 2岁宝宝呕吐是怎么办 2岁宝宝呕吐腹泻怎么办 七个月的宝宝拉肚子怎么办 两岁宝宝玩手机怎么办 5岁宝宝突然口吃怎么办 3岁宝宝突然口吃怎么办 2岁半宝宝结巴怎么办 卤门2岁未闭合怎么办 宝宝2岁说话结巴怎么办 4岁半的宝宝口臭怎么办 2岁宝宝口气重怎么办