@Distributable public final class SmtpMonitor extends AbstractServiceMonitor
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.
|Modifier and Type||Field and Description|
|Constructor and Description|
|Modifier and Type||Method and Description|
This method is the heart of the plug-in monitor.
getKeyedBoolean, getKeyedInteger, getKeyedLong, getKeyedObject, getKeyedString, initialize, initialize, release, release
public PollStatus poll(MonitoredService svc, Map<String,Object> parameters)
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.
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- The package parameters (timeout, retry, etc...) to be used for this poll.
Copyright © 2015. All rights reserved.