JMX-Based Monitoring
Java Management Extensions (JMX) is a technology that lets you implement management interfaces for Java applications. A management interface, as defined by JMX, is composed of named objects called MBeans (Management Beans). MBeans are registered with a name (an ObjectName) in an MBeanServer. To manage a resource or many resource in your application, write an MBean that defines its management interface. Then register that MBean in your MBeanServer. The content of the MBeanServer can then be exposed through various protocols, implemented by protocol connectors, or protocol adaptors.
JMX is enabled in WSO2 Carbon by default. Therefore, the WSO2 Data Services Server facilitates JMX-based monitoring and provides statistics on the data services it has deployed, using JMX technology.
You can change the JMX configuration by editing the jmx.xml file, which is inside <DSS_HOME>/repository/conf/advanced directory. You can configure JMX ports, RMIRegistryPort and RMIServerPort from the "Ports" section of the carbon.xml, which is in <DSS_HOME>/repository/conf directory.
<JMX> <!--The port RMI registry is exposed--> <RMIRegistryPort>9999</RMIRegistryPort> <!--The port RMI server should be exposed--> <RMIServerPort>11111</RMIServerPort> </JMX>
If JMX is enabled, when the server starts up, it will print the JMX Server URL on the console as follows.
INFO {org.wso2.carbon.core.init.CarbonServerManager} - JMX Service URL : service:jmx:rmi://<your-ip>:11111/jndi/rmi://<your-ip>:9999/jmxrmi
Accessing the Registered Data Services MBeans
A JMX MBean is registered per each data service deployed in the Data Services Server. The Object Name of an MBean has the following format: "org.wso2.carbon.dataservices.jmx:section = Services,service=$SERVICE_NAME", where $SERVICE_NAME is the name of the data service.
The MBeans contains information regarding the data service's data sources, queries, operations etc. A sample session using the "jconsole" tool is shown below:
Jconsole Tool
Jconsole is a JMX-compliant monitoring tool. It comes with the Jave Development Kit (JDK) 1.5 and newer versions and can be found in <JDK_HOME>/bin directory. For information on installing JDK, refer to Installing JDK on Windows, Linux or Solaris.Â
You can start the tool by simply typing jconsole in a command (shell) prompt from <JDK_HOME>/bin.
Once the console is opened, you can connect to Carbon by providing the Remote Process URL. The default username and password combination is admin/admin.
Note that this is the same administrator account that is used to log into the Data Services Server's Management Console. Any user having the admin role can login to JMX.