如何在Weblogic上启用集群服务器的JMX?(不是Weblogic AdminServer本身)

时间:2014-06-24 02:53:04

标签: java linux weblogic jmx zabbix

我在CentOS6上运行Weblogic 12c。我在Weblogic AdminServer上启用了JMX。 但我想在集群服务器(如下面列出的ms1)上启用JMX来监视特定的Java服务。我该怎么办?谢谢!

服务器:AdminServer(admin)

集群:ms1 / ms2 / ms3

[root@weblogic61 bin]# ps -ef |grep java
weblogic  3618  3571  0 Jun04 ?        03:14:41 /home/jdk/jdk1.7.0_45/bin/java -server -Xms1024m -Xmx2048m -XX:MaxPermSize=1024m -Dweblogic.Name=ms1 -Djava.security.policy=/home/weblogic/Oracle/Middleware/wlserver_12.1/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Dweblogic.security.SSL.trustedCAKeyStore=/home/weblogic/Oracle/Middleware/wlserver_12.1/server/lib/cacerts -Djava.endorsed.dirs=/home/jdk/jdk1.7.0_45/jre/lib/endorsed:/home/weblogic/Oracle/Middleware/wlserver_12.1/endorsed -da -Dplatform.home=/home/weblogic/Oracle/Middleware/wlserver_12.1 -Dwls.home=/home/weblogic/Oracle/Middleware/wlserver_12.1/server -Dweblogic.home=/home/weblogic/Oracle/Middleware/wlserver_12.1/server -Dweblogic.management.discover=false -Dweblogic.management.server=http://192.168.97.61:7001 -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/home/weblogic/Oracle/Middleware/patch_wls1211/profiles/default/sysext_manifest_classpath:/home/weblogic/Oracle/Middleware/patch_ocp371/profiles/default/sysext_manifest_classpath weblogic.Server
root     27588 27541 41 09:56 pts/0    00:00:25 /home/jdk/jdk1.7.0_45/bin/java -server -Xms1024m -Xmx2048m -XX:MaxPermSize=1024m -Dweblogic.Name=AdminServer -Djava.security.policy=/home/weblogic/Oracle/Middleware/wlserver_12.1/server/lib/weblogic.policy -Dweblogic.ProductionModeEnabled=true -Djava.endorsed.dirs=/home/jdk/jdk1.7.0_45/jre/lib/endorsed:/home/weblogic/Oracle/Middleware/wlserver_12.1/endorsed -Djava.rmi.server.hostname=192.168.97.61 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -da -Dplatform.home=/home/weblogic/Oracle/Middleware/wlserver_12.1 -Dwls.home=/home/weblogic/Oracle/Middleware/wlserver_12.1/server -Dweblogic.home=/home/weblogic/Oracle/Middleware/wlserver_12.1/server -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/home/weblogic/Oracle/Middleware/patch_wls1211/profiles/default/sysext_manifest_classpath:/home/weblogic/Oracle/Middleware/patch_ocp371/profiles/default/sysext_manifest_classpath weblogic.Server
root     27638 27312  0 09:57 pts/1    00:00:00 grep java
zabbix   27853     1  0 Jun13 ?        00:14:16 java -server -classpath lib:lib/logback-classic-0.9.27.jar:lib/logback-core-0.9.27.jar:lib/org-json-2010-12-28.jar:lib/slf4j-api-1.6.1.jar:bin/zabbix-java-gateway-2.0.12.jar -Dzabbix.pidFile=/var/run/zabbix/zabbix_java.pid -Dzabbix.listenIP=0.0.0.0 -Dzabbix.listenPort=10052 -Dzabbix.startPollers=5 com.zabbix.gateway.JavaGateway

3 个答案:

答案 0 :(得分:0)

第一个问题是来自管理服务器的设置在哪里。我猜您需要编辑startWebLogic.sh并找到以下内容的位置:

JAVA_OPTIONS="-Dcom.sun.management.jmxremote.port=12345"
JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTIONS="${JAVA_OPTIONS} -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder"
export JAVA_OPTIONS

可能仅基于if语句或某些语句为您的管理服务器显式设置了Thos设置。

您还可以转到:

为受管服务器设置这些-D值
 Admin Console -> Servers -> MS -> Server Start -> JVM Arguments

最后,Weblogic Domain->Configuration->General->Advanced 同时启用 - Platform MBean Server EnabledPlatform MBean Server Used

答案 1 :(得分:0)

管理控制台 - >服务器 - >服务器-1 - >服务器开始 - > JVM参数

-DUseSunHttpHandler = true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8501 -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.ssl = false -Djavax.management.builder.initial = weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Dcom.sun.management.jmxremote.local.only = false -Djava.rmi.server.hostname = 192.168.20.209

管理控制台 - >服务器 - > Server-2 - >服务器开始 - > JVM参数

-DUseSunHttpHandler = true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8502 -Dcom.sun.management.jmxremote.authenticate = false -Dcom.sun.management.jmxremote.ssl = false -Djavax.management.builder.initial = weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Dcom.sun.management.jmxremote.local.only = false -Djava.rmi.server.hostname = 192.168.20.209

答案 2 :(得分:0)

以及以下命令行参数,

-Dcom.sun.management.jmxremote.port='you jmx port'
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder

有时在linux服务器中,imx连接不会成功。这是因为在Linux Linux云主机中,在/ etc / hosts中,以便主机名解析为主机地址。

修复此问题的最佳方法是,从网络中的其他计算机ping特定的linux服务器,并在

-Djava.rmi.server.hostname=IP address that obtained when you ping that linux server.

但是永远不要依赖您使用ifconfig.me从linux服务器获得的ipaddress。您到达那里的IP被屏蔽了一个存在于主机文件中的IP。