Sunday, July 25, 2010

Managing WebLogic JMX Through JConsole

JConsole is part of JDK, it can be found in $JAVA_HOME/bin directory, and this utility can be used as JMX Console for Managing WebLogic Server, Where you can see the WebLogic Server configuration and invoke various MBean operations, it helps to view and edit the MBean configuration and invoke various JMX Operations on the serverRuntime, serverConnfig and domainRuntime

Here in this post we will see how to setup JConsole for WebLogic Server 10g.

As JConsole is free and distributed with JDK, there is no need of downloading it seperately

We will follow simple steps to setup the JConsole for WebLogic Server
JConsole works in two modes :
  1. Local Process Mode -> Checks for Local Java Process to Manage them through console
  2. Remote Mode ->We Can provide JMX URL to Manage the Remote Java Process
We Normally Use Remote mode as we need to connect the JConsole to MBean Server of WebLogic Application Server

Step 1. Start WebLogic Admin Server

Fig1. Admin Server ProdDomain Started

Step  2. Login to Admin Console and check the domain configuration
Fig 2. Check Domain's Advanced Configuration as The MBean Servers are enabled or not
Step 3. Check for the Parameters "Compatibility MBean Server Enabled" and "Management EJB Enabled" Status ( They Should be Enabled - By Default They are enabled)

Fig 3 : MBean Servers Enabled (Check box checked by default)
 Step 4. Check The Configuration at Admin Server Side in Ports Tab - > IIOP

Fig 4. IIOP Should be enabled in Admin Server IIOP Port Configuration
Fig 5. Provide some user name and password (preferable weblogic/weblogic), as Anonymous users are not allowed to connect to the JMX MBean Server (Advanced Options in IIOP)

Step 5. Save and Activate Changes - This Needs Restart of the Admin Server.
Fig 6. Change in the IIOP Credentials require restart of the Server Affected

Notice that the logs at the startWebLogic.cmd command window shows as below

The non-dynamic attribute DefaultIIOPPasswordEncrypted on[ProdDomain]/Servers[AdminServer]) has been changed. This may require redeploying or rebooting configured entities
change has been made which affects the server AdminServer. This server must berebooted in order to consume this change

Step 6. Restart the Admin Server
Fig 7. Stop the Admin Server (Ctrl+C)

Fig 8. Start the Admin Server (startWebLogic.cmd)

Step 7. Start JConsole - Execute following Steps and Verify the output

Microsoft Windows XP [Version 5.1.2600]
C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>cd \

C:\>echo %WL_HOME%

C:\>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_13

C:\>cd %WL_HOME%

C:\bea\wlserver_10.3>cd server

C:\bea\wlserver_10.3\server>cd bin


\Program Files\Java\jdk1.6.0_13\bin;

bin;C:\Program Files\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\IBM\Infoprint Select;C:\Notes;C:\Program
Files\XLView;C:\lotus\compnent;C:\Utilities;C:\Program Files\Common Files\Lenovo;C:\program files\ibm\personal communications\;C:\Program Files\IBM\Trace Facilit
y\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\ThinkPad\ConnectUtilities;C:\Program Files\Common Files\GTK\2.0\bin;C:\Program Files\QuickTime Alternative\Q
TSystem;C:\Program Files\IBM\edge\lb\servers\lib;C:\PROGRA~1\IBM\edge\icu\lib;C:\PROGRA~1\IBM\edge\admin\platform\bin;C:\PROGRA~1\ibm\gsk7\\bin;C:\PROGRA~1\ibm\g
sk7\\lib;C:\PROGRA~1\IBM\edge\cp\Bin;C:\PROGRA~1\IBM\edge\cp\lib\plugins\pac;C:\Program Files\Java\jdk1.6.0_13\bin;;C:\bea\WLSERV~1.3\server\native\win\32\oci920

Your environment has been set.

C:\bea\wlserver_10.3\server\bin>cd %JAVA_HOME%

Step 8. Execute the following command to invoke "jconsole remote"

jconsole -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar;%WL_HOME%\server\lib\wljmxclient.jar

Step 9. We will get to see the console as below.
Fig 9 . JConsole Login Screen
Step 10. Please provide Service JMX URL for Admin Server and Specify the MBean Tree to enter as below and their particular JConsole Space.

1. service:jmx:rmi:///jndi/iiop://localhost:7011/

username/password = weblogic/weblogic
Fig 10. JConsole Domain Run Time Session
2. service:jmx:rmi:///jndi/iiop://localhost:7011/
username/password = same as above
Fig 11. JConsole Server Run time Session

3. service:jmx:rmi:///jndi/iiop://localhost:7011/
username/password = same as above
Fig 12. JConsole Edit Session in Edit Tree.

This is it..!!

Please let me know if you have any feed back suggestion here.

Thanks for Visiting My Blog - Please Share your feed back and ideas.

Shailesh Dyade


Juan Carlos said...

Hi, very good post, but. How can i do this usin weblogic 8.1?

Shailesh Dyade said...

Thanks Juan, I will soon post the same to configure on WebLogic Server 8.1.

Thanks for Visiting My Blog
Shailesh Dyade

Edgar said...

hello, i have a doubt. when open jconsole appear default port for each pid. where i can change port for connect weblogic thanks for your help

Shailesh Dyade said...

Hello Edgar,

Can you please elaborate more on the question you are asking as, we might need to check whether we have option to change the port number, I don't think this is more of WebLogic Specific? please brief me out the situation.

Shailesh Dyade