WebLogic Management Pack Explained: Discovery Process and Monitoring

In this blog post I will briefly discuss the discovery and basic monitoring on WebLogic from the JEE Feature of SCOM 2012 (https://www.microsoft.com/en-us/download/details.aspx?id=29270).  Although it is Java, the promise of write once, run everywhere does not hold.  Especially in the start and discovery phases.  The workflows for doing so on Windows and Linux/UNIX differ substantially.

WebLogic consist of three parts: an installation, domains, and application servers (which may be either Admin or Managed).  For one installation, there may be many domains.  For one domain, there are many application servers.  Because of this, the discovery process needs to traverse the appropriate paths to find the information about application servers themselves.  The management packs want to find the following information:

  • Disk Path 
  • Version of Application Server
  • HTTP Port (if available)
  • HTTPS Port (if available)
  • If the Application Server is of type Admin or Managed

Discovery

On Windows, the Registry is our friend.  First there should be a registry entry for an uninstall command.  In the HKLM location of the registry the discovery looks in SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall and SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall. From here it is possible to determine the location of the Installation.  From here, the domains can be found, which ultimately leads us to information about the application servers.

Obviously, there is no registry on Linux/UNIX; instead, the discovery is process-based.  For the first discovery, there must be a running process.  From the command-line arguments, it is possible to determine the location of the installation and (as in the Windows case) trace through to find information about the application servers. This information is then cached so that subsequent discovery again look for running processes as well as review the previous cached discoveries.

A typically discovery interval is 4 hours.  Thus, if a path is changed, it will take some time for this to propagate to the UI.  On Linux/UNIX, this means it could take up to 4 hours before the new paths display.   On Windows, it will take 3 discoveries (installation, domain, then app servers) for the results to appear in the SCOM Console.

Monitoring

Monitoring of WebLogic application servers is only available via Deep Monitoring (aka via BeanSpy).  The reason for this design choice is the Admin servers. These processes do not contain enough command-line parameters to properly identify which instance of an admin application server is running on a machine.  While this information is available for a Managed instance, the team made the decision to not provide an incomplete monitoring solution.  If monitoring is desired, then the suggestion is to deploy the BeanSpy application and enable deep monitoring.

For information, see: