Thursday, January 29, 2015

WLST: Understanding WebLogic Server MBean Tree


The JMX specification does not impose a model for organizing MBeans. However, because the configuration of a WebLogic Server domain is specified in an XML document, WebLogic Server organizes its MBeans into a hierarchical model that reflects the XML document structure.[1]

With WLST, you can navigate the hierarchy in a filesystem-like structure with subdirectories representing parent-child relationships. There are also "soft-links" with the ability to use the cd command to jump to other positions in the tree (very similar to what can be done on UNIX using the ln -s command).

In this article, we will cover different MBeen trees implemented in the WebLogic Server 12c.

Configuration vs. Runtime


There are two main kinds of MBeans in WLS:
  • Configuration
    • Used to configure WLS
    • To navigate to a configuration MBean from the runtime hierarchy, enter the serverConfig or domainConfig () command.
    • To edit configuration beans, you must be connected to an Administration Server, and you must navigate to the edit tree (see below) and start an edit session, as described in edit and startEdit, respectively.[7]
  • Runtime
    • Used to monitor WLS and for some operation control—starting and stopping servers, shrinking data source connection pools.
    • The root of the runtime MBeans is ServerRuntimeMBean
    • When connected to 
      • Administration Server
        • You access the runtime MBean hierarchy by entering the serverRuntime() or the domainRuntime() command
      • Managed Server
        • You access the runtime MBean hierarchy by entering the serverRuntime() command

MBean Tree


WLS provides the following bean trees:
  • edit
    • Only available on the admin server, used to modify the configurationconfig.xml and system resource files.
    • In the configuration hierarchy, the root directory is DomainMBean; the MBean type is a subdirectory under the root directory; each instance of the MBean type is a subdirectory under the MBean type directory; and MBean attributes and operations are nodes (like files) under the MBean instance directory. 
  • runtime
    • Available on every server, used to view the configuration that server is using, and to access its monitoring data
  • domain runtime
    • Only available on the admin server, shadows the runtime beans of all of the running servers, provides single point of access for monitoring

Tree Commands


WLST provides simplified access to MBeans. While JMX APIs require you to use JMX object names to interrogate MBeans, WLST enables you to navigate a hierarchy of MBeans in a similar fashion to navigating a hierarchy of files in a file system.  Tree commands in WLST can be used to access to all the bean trees within a domain, 
  • edit
    • You can update an existing WebLogic domain in two modes:[6]
      • Offline mode[3]
      • Online mode[4]
    • When you connect to admin server, WLST first connects to a WebLogic Server instance at the root of the server's configuration MBeans, a single hierarchy whose root is DomainMBean. WLST commands provide access to all the WebLogic Server MBean hierarchies within a WebLogic domain, such as a server's run-time MBeans, run-time MBeans for domain-wide services, and an editable copy of all the configuration MBeans in the domain. For more information, see "Tree Commands"[8]
  • runtime
    • When connected to either an admin server or a managed server, you can access the run-time MBean hierarchy by entering the serverRuntime() command
      • The serverRuntime() command places WLST at the root of the server run-time management objects, ServerRuntimeMBean.
  • domain runtime
    • When connected to an admin server,  you can access the domain run-time MBean hierarchy by entering domainRuntime() command.
      • The domainRuntime() command places WLST at the root of the domain-wide run-time management objects, DomainRuntimeMBean.

References

  1. WebLogic Server MBean Data Model
  2. Navigating and Interrogating MBeans
  3. Using WLST Offline to Update an Existing WebLogic Domain
  4. Using WLST Online to Update an Existing WebLogic Domain
  5. Editing Commands Reference
  6. WLST: Offline and Online Modes (Xml and More)
  7. Configuration MBean Hierarchy
  8. WebLogic Scripting Tool Command Reference
  9. Oracle WebLogic Server on Docker Containers (white paper)
  10. WebLogic on Docker (GitHub)
    • Sample Docker configurations to facilitate installation, configuration, and environment setup for DevOps users. This project includes quick start dockerfiles and samples for both WebLogic 12.1.3 and 12.2.1 based on Oracle Linux and Oracle JDK 8 (Server).

No comments: