阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

JConsole监控远程WebLogic和Tomcat

116次阅读
没有评论

共计 2146 个字符,预计需要花费 6 分钟才能阅读完成。

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 查看)。
 检查配置是否有误;或者查看防火墙是否关闭。

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计2146字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中