jconsole监控远程weblogic和tomcat

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和端口号。

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

注意:在启动和关闭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查看)。

检查配置是否有误;或者查看防火墙是否关闭。





时间: 2024-12-12 00:58:33

jconsole监控远程weblogic和tomcat的相关文章

jconsole、jvisualvm监控远程linux下tomcat运行情况的配置

1.编辑tomcat/bin/catalina.sh 找到Execute The Requested Command,把以下代码加入到这段注释上面(中间无换行): CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=10.12.116.135 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8088 -Dcom.sun.management.jmxr

Jvisualvm监控远程linux下Tomcat

Jvisualvm监控远程linux下Tomcat 1.编辑tomcat/bin/catalina.sh 加入下面这段代码,中间无换行: CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=192.168.1.11 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=fal

jconsole监控远程linux tomcat运行情况的配置 (转)

来自:http://zhumeng8337797.blog.163.com/blog/static/100768914201242494649455/ 步骤如下: 1.编辑tomcat/bin/catalina.sh Bash代码 vi catalina.sh 在其中“ # ----- Execute The Requested Command -----------------------------------------” 之前插入新的一行(中间没有换行),内容如下: Vi catalin

使用本地JConsole监控远程JVM(最权威的总结)

问题背景 Tomcat经常崩溃crash,想看看JVM内存使用情况,就想到了用Jconsole监控,以前只是监控本地的JVM,这次要监控远程的,遇到了不少问题. 经过几个小时的努力,参考了众多网友的资料之后,才最终解决了这个问题. 比较坑爹的是,网上的资料,竟然没有一个是:完美无缺的,没有一篇文章提到了"jmxremote.access"这个文件的重要性. 第一阶段 找到了2种配置,是否需要输入密码. JAVA_OPTS="$JAVA_OPTS -Dcom.sun.manag

使用本地JConsole监控远程JVM (转)

问题背景 Tomcat经常崩溃crash,想看看JVM内存使用情况,就想到了用Jconsole监控,以前只是监控本地的JVM,这次要监控远程的,遇到了不少问题. 经过几个小时的努力,参考了众多网友的资料之后,才最终解决了这个问题. 比较坑爹的是,网上的资料,竟然没有一个是:完美无缺的,没有一篇文章提到了“jmxremote.access”这个文件的重要性. 第一阶段 找到了2种配置,是否需要输入密码. JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxr

本地win下JConsole监控远程linux下的JVM

环境:服务器端: Linux + jdk1.7.0_75 + tomcat 7本地: Win + jdk1.7.0_55 一.修改/etc/hosts文件 hostname -i 如果显示127.0.0.1时,修改/etc/hosts 将127.0.0.1替换成linux服务器的真实ip 二.修改 catalina.sh文件 vim  /usr/local/tomcat7**/bin/catalina.sh   #进入tomcat的bin目录下 在# OS specific support. 

jconsole监控远程 spring boot程序

监控java 程序 增加启动参数 java  \ -Djava.rmi.server.hostname=192.168.1.97 \ -Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.port=1099 \-Dcom.sun.management.jmxremote.authenticate=false \-Dcom.sun.management.jmxremote.ssl=false \ -jar ImagesChec

Confluence 6 使用 JConsole 监控远程 Confluence

针对生产系统中,我们推荐你使用远程监控,这个将不会消耗你远程 Confluence 服务器的资源. 启动远程监控: 添加下面的属性到 setenv.sh / setenv.bat 文件中,端口你可以定义任何你没有使用的端口. set CATALINA_OPTS=-Dcom.sun.management.jmxremote %CATALINA_OPTS% set CATALINA_OPTS=-Dcom.sun.management.jmxremote.port=8099 %CATALINA_OPT

jprofiler_监控远程linux服务器的JVM进程(转 非常棒)

几天前写了一篇文章,jprofiler_监控远程linux服务器的tomcat进程(实践),介绍了使用jprofiler怎样监控远程linux的tomcat进程,这两天想了想,除了可以监控tomcat进程,是不是也可以监控其它的Java进程,可是找了一圈都是监控tomcat,于是就打算亲手实验一下 本文打算把一个简单的java程序打包成jar包,并部署到linux服务器运行,然后使用jprofiler监控该jar包 java程序可参考文章:Java部署_IntelliJ创建一个可运行的jar包(