2014-06-24 81 views
0

我在CentOS6上運行Weblogic 12c。我已經在Weblogic AdminServer上啓用了JMX。 但我想在下面列出的羣集服務器(如ms1)上啓用JMX來監視特定的Java服務。我該怎麼辦?謝謝!如何在Weblogic上啓用集羣服務器的JMX(不是Weblogic AdminServer本身)

服務器:AdminServer中(管理員)

集羣:MS1/MS2/MS3

[[email protected] 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 
+0

好的設置似乎在那裏,你得到什麼錯誤? –

+0

過程27588(Weblogic管理服務器)具有設置,但過程3618沒有。我想將這些設置添加到進程3618. –

回答

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 

THOS設置也許你的管理服務器被明確設置僅基於if語句或一些這樣的。

您還可以通過將設置爲您的託管服務器的-D值: - Platform MBean Server EnabledPlatform MBean Server Used

+0

這真的有所幫助,謝謝!但我感到困惑的是託管服務器和管理服務器共享與12345相同的jmxremote端口? –

+0

我得到了答案。他們可以通過在管理控制檯中設置-D值來獲得不同的端口。只有通過啓動管理控制檯中的服務器,才能應用這些設置(不要運行腳本來啓動服務器)。 –

+0

正確 - -D值僅在服務器通過管理服務器(實際上使用nodemanager)啓動時使用 –

0

管理控制檯 - >服務器 -

Admin Console -> Servers -> MS -> Server Start -> JVM Arguments 

最後,在Weblogic Domain->Configuration->General->Advanced 同時啓用>服務器1 - >服務器啓動 - > JVM參數

-DUseSunHttpHandler = true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8501 -Dcom.sun.management.jmxremote.au thenticate = 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 - >服務器開始 - > JVM參數

-DUseSunHttpHandler =真-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

+1

歡迎來到Stack Overflow。如果你能簡單地解釋這些選項的作用以及爲什麼他們解決了這個問題,那麼它會改善很多答案。 – JJJ