org.opennms.netmgt.poller.monitors
Class IPv4Monitor

java.lang.Object
  extended by org.opennms.netmgt.poller.monitors.IPv4Monitor
All Implemented Interfaces:
ServiceMonitor
Direct Known Subclasses:
AvailabilityMonitor, CitrixMonitor, DhcpMonitor, DnsMonitor, DominoIIOPMonitor, FtpMonitor, GpMonitor, HttpMonitor, IcmpMonitor, ImapMonitor, JDBCMonitor, JMXMonitor, JschSshMonitor, LdapMonitor, MailTransportMonitor, NrpeMonitor, NsclientMonitor, NtpMonitor, PageSequenceMonitor, Pop3Monitor, RadiusAuthMonitor, SmbMonitor, SmtpMonitor, SnmpMonitorStrategy, SshMonitor, StrafePingMonitor, TcpMonitor, TrivialTimeMonitor

public abstract class IPv4Monitor
extends Object
implements ServiceMonitor

This class provides a basic implementation for most of the interface methods of the ServiceMonitor class. 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

Constructor Summary
IPv4Monitor()
           
 
Method Summary
 void initialize(Map parameters)
           This method is called after the framework creates an instance of the plug-in.
 void initialize(MonitoredService svc)
           This method is called whenever a new interface that supports the plug-in service is added to the scheduling system.
protected  Category log()
           
protected  PollStatus logDown(Level level, String reason)
           
protected  PollStatus logDown(Level level, String reason, Throwable e)
           
protected  PollStatus logUp(Level level, double responseTime, String logMsg)
           
abstract  PollStatus poll(MonitoredService svc, Map parameters)
           This method is the heart of the plug-in monitor.
 void release()
           This method is called whenever the plug-in is being unloaded, normally during framework exit.
 void release(MonitoredService svc)
           This method is the called whenever an interface is being removed from the scheduler.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IPv4Monitor

public IPv4Monitor()
Method Detail

initialize

public void initialize(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:
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:
RuntimeException - Thrown if an error occurs during deallocation.

initialize

public void initialize(MonitoredService svc)

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:
svc - TODO
Throws:
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(MonitoredService svc)

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:
svc - TODO
Throws:
RuntimeException - Thrown if an unrecoverable error occurs that prevents the interface from being monitored.

poll

public abstract PollStatus poll(MonitoredService svc,
                                Map parameters)
Description copied from interface: ServiceMonitor

This method is the heart of the plug-in monitor. Each time an interface requires a check to be performed as defined by the scheduler the poll method is invoked. The poll is passed the interface to check

By default when the status transition from up to down or vice versa the framework will generate an event. Additionally, if the polling interval changes due to an extended unavailability, the framework will generate an additional down event. The plug-in can suppress the generation of the default events by setting the suppress event bit in the returned integer.

Specified by:
poll in interface ServiceMonitor
Parameters:
svc - TODO
parameters - The package parameters (timeout, retry, etc...) to be used for this poll.
Returns:
The availability of the interface and if a transition event should be suppressed.
See Also:
PollStatus.SERVICE_AVAILABLE, PollStatus.SERVICE_UNAVAILABLE

log

protected Category log()

logDown

protected PollStatus logDown(Level level,
                             String reason)

logDown

protected PollStatus logDown(Level level,
                             String reason,
                             Throwable e)

logUp

protected PollStatus logUp(Level level,
                           double responseTime,
                           String logMsg)


Copyright © 2009. All Rights Reserved.