Monitoring with a Java Management Extensions (JMX) Agent

It is possible to access monitoring information of the server using the Java Management eXtensions (JMX) standard. This information can be used to control the use of the server and audit the actions carried out on the data sources and/or the Virtual DataPort metadata.

The available monitoring information is:

  • General information on the server: number of active and inactive connections, memory usage, etc.

  • Configuration and accesses to the server cache.

  • Accesses to each data source.

  • Accesses to the views and stored procedures.

  • Transactions executed by the Virtual DataPort server.

DataPort also generates different types of JMX notifications whenever:

  • A DDL statement is executed. E.g. ALTER TABLE, CREATE VIEW, etc.

  • A DML statement is executed. E.g. SELECT, INSERT, etc.

  • Transactions start or end.

In JMX, the information exported is displayed as a set of objects known as MBeans. The MBeans exported by Virtual DataPort belong to the JMX domain com.denodo.vdb.management.mbeans.

Any JMX client can be used to access the Virtual DataPort monitoring information and events. Visual VM and JConsole among others, have been tested to access the information and events exported by Virtual DataPort.

URL to connect to the JMX interface of Virtual DataPort
service:jmx:rmi:///jndi/rmi://denodo-server-prod.acme.com:9997/jmxrmi

The communication is initiated through the port 9997 but it also uses the 9995 to transfer data. Take this into account if there is a firewall between Virtual DataPort and the JMX client.

The section Using JavaTM VisualVM explains how to use VisualVM to monitor the Virtual DataPort server. The following subsections describe in further detail the information and events available in each of the following categories: general server information, general data source information, general cache information, information and events on DDL statements, information and events on DML statements and information and events on transactions.