|
OpenNMS API 1.1.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opennms.netmgt.poller.IPv4LatencyMonitor
org.opennms.netmgt.poller.SmtpMonitor
This class is designed to be used by the service poller framework to test the availability of the SMTP service on remote interfaces. The class implements the ServiceMonitor interface that allows it to be used along with other plug-ins by the service poller framework.
Field Summary | |
private static int |
DEFAULT_PORT
Default SMTP port. |
private static int |
DEFAULT_RETRY
Default retries. |
private static int |
DEFAULT_TIMEOUT
Default timeout. |
(package private) static java.lang.String |
DS_NAME
RRD data source name which doubles as the RRD file name. |
private org.apache.regexp.RE |
ENDMULTILINE
Used to check for the end of a multiline response. |
private static java.lang.String |
LOCALHOST_NAME
The name of the local host. |
(package private) Interface |
m_rrdInterface
Interface object which provides access to RRD functions via JNI. |
private static org.apache.regexp.RE |
MULTILINE
Used to check for a multiline response. |
Fields inherited from interface org.opennms.netmgt.poller.ServiceMonitor |
SERVICE_AVAILABLE, SERVICE_STATUS_MASK, SERVICE_UNAVAILABLE, SERVICE_UNRESPONSIVE, SURPRESS_EVENT_MASK |
Constructor Summary | |
(package private) |
SmtpMonitor()
|
Method Summary | |
boolean |
createRRD(Interface rrdJniInterface,
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. |
void |
initialize(java.util.Map parameters)
This method is called after the framework creates an instance of the plug-in. |
void |
initialize(NetworkInterface iface)
This method is called whenever a new interface that supports the plug-in service is added to the scheduling system. |
int |
poll(NetworkInterface iface,
java.util.Map parameters,
Package pkg)
Poll the specified address for SMTP service availability. |
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(Interface rrdJniInterface,
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 |
Field Detail |
private static final int DEFAULT_PORT
private static final int DEFAULT_RETRY
private static final int DEFAULT_TIMEOUT
private static java.lang.String LOCALHOST_NAME
private static org.apache.regexp.RE MULTILINE
private org.apache.regexp.RE ENDMULTILINE
Interface m_rrdInterface
static java.lang.String DS_NAME
Constructor Detail |
SmtpMonitor()
Method Detail |
public int poll(NetworkInterface iface, java.util.Map parameters, Package pkg)
Poll the specified address for SMTP service availability.
During the poll an attempt is made to connect on the specified port (by default TCP port 25). If the connection request is successful, the banner line generated by the interface is parsed and if the extracted return code indicates that we are talking to an SMTP server we continue. Next, an SMTP 'HELO' command is sent to the interface. Again the response is parsed and a return code extracted and verified. Finally, an SMTP 'QUIT' command is sent. Provided that the interface's response is valid we set the service status to SERVICE_AVAILABLE and return.
iface
- The network interface to test the service on.parameters
- The package parameters (timeout, retry, etc...) to be used for this poll.
ServiceMonitor.SURPRESS_EVENT_MASK
,
ServiceMonitor.SERVICE_AVAILABLE
,
ServiceMonitor.SERVICE_UNAVAILABLE
public void initialize(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.
initialize
in interface ServiceMonitor
parameters
- Not currently used
java.lang.RuntimeException
- Thrown if
an unrecoverable error occurs that prevents the plug-in from functioning.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.
release
in interface ServiceMonitor
java.lang.RuntimeException
- Thrown if an error occurs
during deallocation.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.
initialize
in interface ServiceMonitor
iface
- The network interface to be added to the scheduler.
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.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.
release
in interface ServiceMonitor
iface
- The network interface that was being monitored.
java.lang.RuntimeException
- Thrown if an unrecoverable error
occurs that prevents the interface from being monitored.public boolean createRRD(Interface rrdJniInterface, java.lang.String repository, java.net.InetAddress addr, java.lang.String dsName, Package pkg)
rrdJniInterface
- interface used to issue RRD commands.repository
- path to the RRD file repositoryaddr
- interface addressdsName
- data source/RRD file name
public void updateRRD(Interface rrdJniInterface, java.lang.String repository, java.net.InetAddress addr, java.lang.String dsName, long value, Package pkg)
rrdJniInterface
- interface used to issue RRD commands.repository
- path to the RRD file repositoryaddr
- interface addressvalue
- value to update the RRD file with
|
OpenNMS API 1.1.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |