简体   繁体   English

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

[英]How to enable the JMX of cluster servers on Weblogic?(not the Weblogic AdminServer itself)

I am running Weblogic 12c on CentOS6. 我在CentOS6上运行Weblogic 12c。 I have enabled the JMX on Weblogic AdminServer. 我已经在Weblogic AdminServer上启用了JMX。 But I want to enable the JMX on the cluster servers such as ms1 listed below to monitor specific Java service. 但是我想在群集服务器(例如下面列出的ms1)上启用JMX,以监视特定的Java服务。 What shall I do? 我该怎么办? Thank you! 谢谢!

Servers:AdminServer(admin) 服务器:AdminServer(管理员)

Clusters: ms1/ms2/ms3 群集: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

The first question is where are those settings coming from for your admin server. 第一个问题是管理服务器的这些设置来自哪里。 My guess is you need to edit startWebLogic.sh and find where the following are being set: 我的猜测是您需要编辑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 settings are probably being explicitly set for your admin server only based on an if statement or some such. Thos设置可能仅根据if语句或类似语句为您的管理服务器显式设置。

You can also set those -D values for your managed server by going to: 您还可以通过以下步骤为托管服务器设置这些-D值:

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

Last, in the Weblogic Domain->Configuration->General->Advanced Enable both - Platform MBean Server Enabled and Platform MBean Server Used 最后,在Weblogic Domain->Configuration->General->Advanced启用- Platform MBean Server Enabled Platform MBean Server Used和使用Platform MBean Server Used

Admin Console -> Servers -> Server-1 -> Server Start -> JVM Arguments 管理控制台->服务器->服务器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 -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

Admin Console -> Servers -> Server-2 -> Server Start -> JVM Arguments 管理控制台->服务器->服务器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 -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

along with below command line parameters , 以及以下命令行参数,

-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

Sometimes in the linux servers , imx connection doesn't get succeeded. 有时在linux服务器中,imx连接不会成功。 that is because , in cloud linux host, in /etc/hosts so that the hostname resolves to the host address. 这是因为,在cloud linux主机中,在/ etc / hosts中,以便主机名解析为主机地址。

the best way to fix it is, ping the particular linux server from other machine in network and use that host IP address in the 修复此问题的最佳方法是,从网络中的其他计算机ping特定的linux服务器,并在

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

But never rely on the ipaddress that you get from linux server using ifconfig.me. 但是永远不要依赖您使用ifconfig.me从linux服务器获得的ipaddress。 the ip that you get there is masked one which is present in the host file. 您到达那里的IP被屏蔽了一个存在于主机文件中的IP。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM