Friday, October 8, 2010

Managing WebLogic servers with JConsole

A way to interact with WebLogic's MBeans, is to use a generic JMX client such as JConsole or Use your favorite JMX client (JConsole, jManage, etc.) to monitor thread pools, database connections, memory usage and any other MBean attributes.

There are two ways (that I know of) to enable a WebLogic application for monitoring using JMX.
  • Enable IIOP and default user for the WebLogic server
  • Use the Java 5 JMX remote capabilities

Enable IIOP and default user for the WebLogic server

1: Enable Anonymous Admin Lookup
2: Enable IIOP Protocol for Admin Server and Application Servers
-- In the Server Settings' Protocol tab, check "Enable IIOP"
-- And in the Advanced options, enter the Default IIOP Username and Default IIOP Password.
    If you don't do this, you will get an error similar to the following when you try to establish an rmi connection:
    org.omg.CORBA.NO_PERMISSION: User does not have permission on weblogic.management.mbeanservers to perform lookup operation. vmcid: 0 completed: No

    Then you can use the JMX URL to connect to an individual application server:
    service:jmx:rmi:///jndi/iiop://127.0.0.1:7001/weblogic.management.mbeanservers.runtime

    or if you connect to the Admin server, you can view the MBeans for all the servers in the cluster using this URL:
    service:jmx:rmi:///jndi/iiop://127.0.0.1:7001/weblogic.management.mbeanservers.domainruntime.

    Use Java 5 JMX remote

    Add the following command-line options to the start script for the WebLogic server you want to monitor:
    -Dcom.sun.management.jmxremote
    -Dcom.sun.management.jmxremote.port=7099
    -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.authenticate=false

    Then, you can connect using this JMX URL:
    service:jmx:rmi:///jndi/rmi://127.0.0.1:7099/jmxrmi
    and you will get not only the com.bea MBeans, but all of the Java 5 MBeans, also.

    No comments: