This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Monitoring Using a Remote JMX Client

WSO2 Carbon which is the underline framework for WSO2 Governance Registry (and other products) can be monitored using a remote JMX client (such as JConsole) which is behind a firewall. This feature is enabled by the following configuration at carbon.xml:

<Ports>
  <!-- The JMX Ports -->
     <JMX>
         <!--The port RMI registry is exposed-->
         <RMIRegistryPort>9999</RMIRegistryPort>
         <!--The port RMI server should be exposed-->
         <RMIServerPort>11111</RMIServerPort>
     </JMX>
  </Ports>

These parameters also can be passed at server start up time using the system properties com.wso2.rmiserver.port and com.sun.management.jmxremote.port for RMIServer port and the RMIRegistry port respectively.

When monitoring Carbon remotely, specifying the RMIRegistry port is sufficient but if your client is behind a firewall you will also need to specify the second port, RMIServer port. This second port need to be opened by the firewall admin.

The following code fragment is from CarbonServerManager.java which shows how the JMX URL is constructed according to provided port.

// Create an RMI connector and start it
if (rmiServerPortString != null) {
      int rmiServerPort = Integer.parseInt(rmiServerPortString);
      jmxURL = "service:jmx:rmi://" + NetworkUtils.getLocalHostname() + ":" +
                rmiServerPort + "/jndi/rmi://" + NetworkUtils.getLocalHostname() + ":" +
                            rmiRegistryPort + "/jmxrmi";
} else {
      jmxURL = "service:jmx:rmi:///jndi/rmi://" +
                NetworkUtils.getLocalHostname() + ":" + rmiRegistryPort + "/jmxrmi";
}
JMXServiceURL url = new JMXServiceURL(jmxURL);

With this improvment you will be able to monitor Governance Registry using a JMX client which is behind a firewall.