OpenNMS API 1.2.3

org.opennms.netmgt.poller.monitors
Class SmtpMonitor

java.lang.Object
  extended byorg.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
      extended byorg.opennms.netmgt.poller.monitors.SmtpMonitor
All Implemented Interfaces:
ServiceMonitor

public final class SmtpMonitor
extends IPv4LatencyMonitor

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.

Author:
Tarus Balog , OpenNMS

Field Summary
private static int DEFAULT_PORT
          Default SMTP port.
private static int DEFAULT_RETRY
          Default retries.
private static int DEFAULT_TIMEOUT
          Default timeout.
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.
private static org.apache.regexp.RE MULTILINE
          Used to check for a multiline response.
 
Fields inherited from class org.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
DS_NAME
 
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
SmtpMonitor()
           
 
Method Summary
 int poll(NetworkInterface iface, java.util.Map parameters, Package pkg)
           Poll the specified address for SMTP service availability.
 
Methods inherited from class org.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
createRRD, initialize, initialize, release, release, updateRRD
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PORT

private static final int DEFAULT_PORT
Default SMTP port.

See Also:
Constant Field Values

DEFAULT_RETRY

private static final int DEFAULT_RETRY
Default retries.

See Also:
Constant Field Values

DEFAULT_TIMEOUT

private static final int DEFAULT_TIMEOUT
Default timeout. Specifies how long (in milliseconds) to block waiting for data from the monitored interface.

See Also:
Constant Field Values

LOCALHOST_NAME

private static java.lang.String LOCALHOST_NAME
The name of the local host.


MULTILINE

private static org.apache.regexp.RE MULTILINE
Used to check for a multiline response. A multline response begins with the same 3 digit response code, but has a hypen after the last number instead of a space.


ENDMULTILINE

private org.apache.regexp.RE ENDMULTILINE
Used to check for the end of a multiline response. The end of a multiline response is the same 3 digit response code followed by a space

Constructor Detail

SmtpMonitor

public SmtpMonitor()
Method Detail

poll

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.

Parameters:
iface - The network interface to test the service on.
parameters - The package parameters (timeout, retry, etc...) to be used for this poll.
Returns:
The availibility of the interface and if a transition event should be supressed.
See Also:
ServiceMonitor.SURPRESS_EVENT_MASK, ServiceMonitor.SERVICE_AVAILABLE, ServiceMonitor.SERVICE_UNAVAILABLE

OpenNMS API 1.2.3

Generated by eevans on May 29 2005 2015.