Configuring the Denodo Monitor

To start using the Denodo Monitor, follow these steps:

  1. Go to the directory <DENODO_HOME>/tools/monitor.

  2. On Windows, decompress the file

    On Linux, execute this: tar -xzf denodo-monitor.tar.gz.

  3. Edit the file conf/ to configure it.

    Although usually the default configuration of the Denodo Monitor is correct, you can find a description of the main properties right after this list of steps.

  4. To start the Denodo Monitor go to bin, in the directory of the Denodo Monitor and do this:

    • On Linux, execute ./

    • On Windows, execute denodomonitor_startup.bat.

Then, change the values of all the properties, jmx.port, jmx.user and jmx.password. Each monitor will read these properties to know the URI and credentials of the Server it has to monitor.

Almost all the properties in this configuration file are self-explanatory, so we are going to review only the most important ones:

  • jmx.user. User name of an administrator or a user with the role jmxadmin. Other users cannot connect to the JMX interface of Virtual DataPort.

  • monitors.local. Comma-separated list of local active “monitors”: processes and sockets (see section Local Monitors).

  • monitors.remote. Comma-separated list of the monitors you want to launch: vdp, browserpool, maintenance, scheduler or schedulerindex.

  • { browserpool | maintenance | scheduler | schedulerindex | vdp }.monitors. Properties that indicate which remote “monitors” will be active for each Server.

    The possible values for these properties are:

    • threads

    • resources

    • vdpqueries (only for vdp): to enable the “Virtual DataPort Queries Monitor”.

    • vdploadcacheprocesses (only for vdp): to enable the “Virtual DataPort Cache Monitor”.

    • vdpconnections (only for vdp): to enable the “Virtual DataPort Connections Monitor”.

    • vdpdatasources (only for vdp): to enable the “Virtual DataPort Data Sources Monitor”.

  • { processes | sockets | resources | threads }.interval. Number of seconds between two JMX requests issued by that monitor.

  • The properties .jmx.password store the password to connect to the Server of that property. These passwords can be stored encrypted. To do this, set the value of the property .jmx.password.encrypted to true if the value of .jmx.password is encrypted.

    For example, by default the Virtual DataPort password is admin. If you changed it and you want to store it in this configuration file encrypted, do the following:

    • Execute the script <DENODO_HOME>/tools/monitor/denodo-monitor/bin/encrypt_password <new password>

      The output of this script is the encrypted password that you will put in the configuration file of the Denodo Monitor.

      1. Open the file <DENODO_HOME>/tools/monitor/denodo-monitor/conf/

      2. Set the value of the property vdp.jmx.password to the encrypted password you obtained in step 1.

      3. Set the value of the property vdp.jmx.password.encrypted to true.

  • vdpqueries.jdbcagent.enable and vdploadcacheprocesses.jdbcagent.enable. Set to true to store the information generated by the queries monitor and the cache monitor respectively in an external database.

    Uncomment and configure the other jdbcagent properties.

    The Denodo Monitor can connect to this database using Kerberos authentication. It can use either Kerberos authentication with username and password, or using a keytab file. To this, uncomment and provide a value for these properties:

    • [vdpqueries|vdploadcacheprocesses].jdbcagent.useKerberos: set to true to use Kerberos authentication.

    • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbUser: Kerberos user.

    • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbPassword: Kerberos password. [vdpqueries|vdploadcacheprocesses].jdbcagent.krbPassword.encrypted: set to true if you encrypted the password with the script “encrypt_password” (see above). If not, set to false.

    • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbKeyTab: path to the Kerberos keytab.

    • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbConfigFile: path to the krb5.ini file if it is not in the default path.

    • [vdpqueries|vdploadcacheprocesses].jdbcagent.krbDriverOptions: custom properties to be passed to the driver. The value must follow the format: property1=value1;property2=value2;

    About [vdpqueries|vdploadcacheprocesses]...: this means that you to you have to add this property twice, one for the vdpqueries and one for vdploadcacheprocesses. For example, you have to add this:


    The first time you configure the Denodo Monitor to store the information on an external database, do this before launching it:

    1. Create the tables in the database that will store the information generated by the cache monitor and the queries monitor. Denodo Monitor does not create the tables, just inserts data in them.

      The directory <DENODO_HOME>/tools/monitor/denodo-monitor/sql/ contains SQL scripts to create these tables, for several vendors (MySQL, Oracle, SQL Server, etc.). If there is no script for the database you want to use, you can use one of them as a template. Denodo Monitor only executes simple INSERT statements so you should be able to use any database.

    2. Copy the JDBC driver of the database (the jar files) to the folder <DENODO_MONITOR>/lib.

  • vdpqueries.snmptrapagent.enable and vdploadcacheprocesses.snmptrapagent.enable. If true, the monitor sends SNMP traps with the information received by the Queries monitor or the Cache Monitor.

    To use it, uncomment and configure the other snmptrapagent properties.


    Since Denodo Platform 7.0 update of May 2022, the SNMP support is removed. All the snmptrapagent properties are deprecated.

  • List of comma-separated data sources to which the Denodo Monitor will perform a ping operation. Each data source is specified by a reference like <database_name>.<data_source_type>.<data_source_name>, where data_source_type can only take one of the following values: jdbc, odbc, ldap, olap, sapbwbapi, saperp, salesforce.

    Note that the ping is invoked periodically, every time the Virtual DataPort Data Sources Monitor registers information in the logs, which is controlled by the parameter vdp.datasources.interval.

Add feedback