OpenNMS API 1.2.3

org.opennms.netmgt.poller.monitors
Class IPv4LatencyMonitor

java.lang.Object
  extended byorg.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
All Implemented Interfaces:
ServiceMonitor
Direct Known Subclasses:
CitrixMonitor, DhcpMonitor, DnsMonitor, FtpMonitor, GpMonitor, HttpMonitor, HttpsMonitor, IcmpMonitor, ImapMonitor, JDBCMonitor, NtpMonitor, Pop3Monitor, RadiusAuthMonitor, SmtpMonitor, SshMonitor, TcpMonitor

public abstract class IPv4LatencyMonitor
extends java.lang.Object
implements ServiceMonitor

This class provides a basic implementation for most of the interface methods of the ServiceMonitor class in addition to methods for creating and updating RRD files with latency information. Since most pollers do not do any special initialization, and only require that the interface is an InetAddress object this class provides eveything by the poll interface.

Author:
Mike, Weave, OpenNMS

Field Summary
(package private) static java.lang.String DS_NAME
          RRD data source name which doubles as the RRD file name.
private  PollerConfig m_pollerConfig
           
 
Fields inherited from interface org.opennms.netmgt.poller.monitors.ServiceMonitor
SERVICE_AVAILABLE, SERVICE_STATUS_MASK, SERVICE_UNAVAILABLE, SERVICE_UNKNOWN, SERVICE_UNRESPONSIVE, SURPRESS_EVENT_MASK
 
Constructor Summary
IPv4LatencyMonitor()
           
 
Method Summary
 boolean createRRD(java.lang.String repository, java.net.InetAddress addr, java.lang.String dsName, Package pkg)
          Create an RRD database file for storing latency/response time data.
private  PollerConfig getPollerConfig()
           
 void initialize(NetworkInterface iface)
           This method is called whenever a new interface that supports the plug-in service is added to the scheduling system.
 void initialize(PollerConfig pollerConfig, java.util.Map parameters)
           This method is called after the framework creates an instance of the plug-in.
 void release()
           This method is called whenever the plug-in is being unloaded, normally during framework exit.
 void release(NetworkInterface iface)
           This method is the called whenever an interface is being removed from the scheduler.
 void updateRRD(java.lang.String repository, java.net.InetAddress addr, java.lang.String dsName, long value, Package pkg)
          Update an RRD database file with latency/response time data.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.opennms.netmgt.poller.monitors.ServiceMonitor
poll
 

Field Detail

DS_NAME

static java.lang.String DS_NAME
RRD data source name which doubles as the RRD file name.


m_pollerConfig

private PollerConfig m_pollerConfig
Constructor Detail

IPv4LatencyMonitor

public IPv4LatencyMonitor()
Method Detail

initialize

public void initialize(PollerConfig pollerConfig,
                       java.util.Map parameters)

This method is called after the framework creates an instance of the plug-in. The framework passes the object a proxy object that can be used to retreive configuration information specific to the plug-in. Additionally, any parameters for the plug-in from the package definition are passed using the parameters element.

If there is a critical error, like missing service libraries, the the montior may throw a ServiceMonitorException. If the plug-in throws an exception then the plug-in will be disabled in the framework.

Specified by:
initialize in interface ServiceMonitor
Parameters:
parameters - Not currently used
Throws:
java.lang.RuntimeException - Thrown if an unrecoverable error occurs that prevents the plug-in from functioning.

release

public void release()

This method is called whenever the plug-in is being unloaded, normally during framework exit. During this time the framework may release any resource and save any state information using the proxy object from the initialization routine.

Even if the plug-in throws a monitor exception, it will not prevent the plug-in from being unloaded. The plug-in should not return until all of its state information is saved. Once the plug-in returns from this call its configuration proxy object is considered invalid.

Specified by:
release in interface ServiceMonitor
Throws:
java.lang.RuntimeException - Thrown if an error occurs during deallocation.

initialize

public void initialize(NetworkInterface iface)

This method is called whenever a new interface that supports the plug-in service is added to the scheduling system. The plug-in has the option to load and/or associate configuration information with the interface before the framework begins scheduling the new device.

Should a monitor exception be thrown during an initialization call then the framework will log an error and discard the interface from scheduling.

Specified by:
initialize in interface ServiceMonitor
Parameters:
iface - The network interface to be added to the scheduler.
Throws:
java.lang.RuntimeException - Thrown if an unrecoverable error occurs that prevents the interface from being monitored.
NetworkInterfaceNotSupportedException - Thrown if the passed interface is invalid for this monitor.

release

public void release(NetworkInterface iface)

This method is the called whenever an interface is being removed from the scheduler. For example, if a service is determined as being no longer supported then this method will be invoked to cleanup any information associated with this device. This gives the implementor of the interface the ability to serialize any data prior to the interface being discarded.

If an exception is thrown during the release the exception will be logged, but the interface will still be discarded for garbage collection.

Specified by:
release in interface ServiceMonitor
Parameters:
iface - The network interface that was being monitored.
Throws:
java.lang.RuntimeException - Thrown if an unrecoverable error occurs that prevents the interface from being monitored.

createRRD

public boolean createRRD(java.lang.String repository,
                         java.net.InetAddress addr,
                         java.lang.String dsName,
                         Package pkg)
                  throws RrdException
Create an RRD database file for storing latency/response time data.

Parameters:
repository - path to the RRD file repository
addr - interface address
dsName - data source/RRD file name
Returns:
true if RRD file successfully created, false otherwise
Throws:
RrdException

getPollerConfig

private PollerConfig getPollerConfig()
Returns:

updateRRD

public void updateRRD(java.lang.String repository,
                      java.net.InetAddress addr,
                      java.lang.String dsName,
                      long value,
                      Package pkg)
Update an RRD database file with latency/response time data.

Parameters:
repository - path to the RRD file repository
addr - interface address
value - value to update the RRD file with
Returns:
true if RRD file successfully created, false otherwise

OpenNMS API 1.2.3

Generated by eevans on May 29 2005 2015.