So the next step I took was taking a deep dive into the JBoss.Monitored.Configuration.Discovery scripts and I found that the script tries to find and/or create registry keys about its discovered Jboss instances.
The key being created is: HKLM\Software\Microsoft\Microsoft Operations Manager\3.0\Modules\{GUID}\.\Script\PersistedDiscovery
In that key, values are stored called HTTP and HTTPS.
The persistedDiscovery key is deleted and recreated when you stop the Microsoft Monitoring Agent service and/or flush the health state cache. Thus manually adding the values is no use.
The HTTP and HTTPS values in a Jboss7 instance running domain mode cannot be retrieved because the port configuration is done at the Jboss domain controller and 'streamed' to the Jboss domain hosts.
In JBoss 5 instance however I see HTTP and HTTPS values being inserted into the registry. In a few cases incorrect information about ports is found and added to the registry.
In the Jboss discovery vbs I found the pieces for Jboss5:
' Get the HTTP & HTTPS ports of the JBoss 5 installation that runs a specific configuration
' Do this by adding the offset for the port binding to the base ports found in the XML file
' bindings-jboss-beans.xml located in <configuration>\conf\bindingservice.beans\META-INF\
Apparantly what is written in this file does not actually reflect the running config.
For Jboss7 it appears quite a bit more complex (especially running domain mode):
Step1:
' Get the HTTP and HTTPS ports for a JBoss 7 or Wildfly installation that is running in domain mode
' In order to get the HTTP Ports we must first retrieve the group that the server belongs too, as well as the port offset for each server
' These values both resiode within the host.xml file
Step2:
' We then look within domain.xml to find the profile reference based on the group name that we retrieved from host.xml
' After the profile reference we then can find the socket-bindings for http and https ports
While the information is there, these values are not added to the registry.
Thus, so far the script is looking in the right place to find the used ports for that particular Jboss7 Service, yet the monitor for the BeanSpy is not using that port to contact the BeanSpy.
My investigation continues...
-
Edited by
Manni Calavera
Saturday, March 07, 2015 12:06 PM