JDBCMonitor

The JDBCMonitor checks that it is able to connect to a database and checks if it is able to get the database catalog from that database management system (DBMS). It is based on the JDBC technology to connect and communicate with the database.

Monitor facts

Class Name

org.opennms.netmgt.poller.monitors.JDBCMonitor

Remote Enabled

true

Configuration and Usage
Table 1. Monitor specific parameters for the JDBCMonitor
Parameter Description Required Default value

driver

JDBC driver class to use

required

com.sybase.jdbc2.jdbc.SybDriver

url

JDBC Url to connect to.

required

jdbc:sybase:Tds:OPENNMS_JDBC_HOSTNAME/tempdb

user

Database user

required

sa

password

Database password

required

empty string

timeout

Timeout in ms for the database connection

optional

3000

retries

How many retries should be performed before failing the test

optional

0

The OPENNMS_JDBC_HOSTNAME is replaced in the url parameter with the IP or resolved hostname of the interface the monitored service is assigned to.
Provide the database driver

The JDBCMonitor is based on JDBC and requires a JDBC driver to communicate with any database. Due to the fact that OpenNMS HORIZON itself uses a PostgreSQL database, the PostgreSQL JDBC driver is available out of the box. For all other database systems a compatible JDBC driver has to be provided to OpenNMS HORIZON as a jar-file. To provide a JDBC driver place the driver-jar in the opennms/lib folder of your OpenNMS HORIZON. To use the JDBCMonitor from a remote poller, the driver-jar has to be provided to the Remote Poller too. This may be tricky or impossible when using the Java Webstart Remote Poller, because of code signing requirements.

Examples

The following example checks if the PostgreSQL database used by OpenNMS HORIZON is available.

<service name="OpenNMS-DBMS" interval="30000" user-defined="true" status="on">
  <parameter key="driver" value="org.postgresql.Driver"/>
  <parameter key="url" value="jdbc:postgresql://OPENNMS_JDBC_HOSTNAME:5432/opennms"/>
  <parameter key="user" value="opennms"/>
  <parameter key="password" value="opennms"/>
</service>

<monitor service="OpenNMS-DBMS" class-name="org.opennms.netmgt.poller.monitors.JDBCMonitor" />