Class TrivialTimeMonitor
- java.lang.Object
-
- org.opennms.netmgt.poller.support.AbstractServiceMonitor
-
- org.opennms.netmgt.poller.monitors.TrivialTimeMonitor
-
- All Implemented Interfaces:
ServiceMonitor
public final class TrivialTimeMonitor extends AbstractServiceMonitor
This class is designed to be used by the service poller framework to test the availability of the trivial UNIX "time" 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:
- Jeff Gehlbach, OpenNMS
-
-
Constructor Summary
Constructors Constructor Description TrivialTimeMonitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PollStatus
poll(MonitoredService svc, Map<String,Object> parameters)
This method is the heart of the plug-in monitor.PollStatus
pollTimeTcp(MonitoredService svc, Map<String,Object> parameters, PollStatus serviceStatus, TimeoutTracker tracker, InetAddress ipv4Addr, int port, int allowedSkew, boolean persistSkew)
pollTimeTcpPollStatus
pollTimeUdp(MonitoredService svc, Map<String,Object> parameters, PollStatus serviceStatus, TimeoutTracker tracker, InetAddress ipv4Addr, int port, int allowedSkew, boolean persistSkew)
pollTimeUdpvoid
storeResult(PollStatus serviceStatus, Number skew, Double responseTime, boolean persistSkew)
storeResult-
Methods inherited from class org.opennms.netmgt.poller.support.AbstractServiceMonitor
getEffectiveLocation, getKeyedBoolean, getKeyedInstance, getKeyedInteger, getKeyedLong, getKeyedObject, getKeyedString, getRuntimeAttributes, getServiceProperties
-
-
-
-
Method Detail
-
poll
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 service 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.
NOTE: This method may be invoked on a Minion, in which case certain bean and facilities will not be available. If any state related information is required such as agent related configuration, it should retrieved by the
Poll the specified address for service availability. During the poll an attempt is made to retrieve the time value from the remote system. This can be done via either TCP or UDP depending on the provided parameters (default TCP). If the time value returned is within the specified number of seconds of the local system's clock time, then the service is considered available.ServiceMonitor.getRuntimeAttributes(MonitoredService, Map)
.- Parameters:
svc
- Includes details about to the service being monitored.parameters
- Includes the service parameters defined in poller-configuration.xml and those returned byServiceMonitor.getRuntimeAttributes(MonitoredService, Map)
.- Returns:
- The availability of the interface and if a transition event should be suppressed.
- See Also:
PollStatus.SERVICE_AVAILABLE
,PollStatus.SERVICE_UNAVAILABLE
,PollStatus.SERVICE_AVAILABLE
,PollStatus.SERVICE_UNAVAILABLE
-
storeResult
public void storeResult(PollStatus serviceStatus, Number skew, Double responseTime, boolean persistSkew)
storeResult
- Parameters:
serviceStatus
- aPollStatus
object.skew
- aNumber
object.responseTime
- aDouble
object.persistSkew
- a boolean.
-
pollTimeTcp
public PollStatus pollTimeTcp(MonitoredService svc, Map<String,Object> parameters, PollStatus serviceStatus, TimeoutTracker tracker, InetAddress ipv4Addr, int port, int allowedSkew, boolean persistSkew)
pollTimeTcp
- Parameters:
svc
- aMonitoredService
object.parameters
- aMap
object.serviceStatus
- aPollStatus
object.tracker
- aTimeoutTracker
object.ipv4Addr
- aInetAddress
object.port
- a int.allowedSkew
- a int.persistSkew
- a boolean.- Returns:
- a
PollStatus
object.
-
pollTimeUdp
public PollStatus pollTimeUdp(MonitoredService svc, Map<String,Object> parameters, PollStatus serviceStatus, TimeoutTracker tracker, InetAddress ipv4Addr, int port, int allowedSkew, boolean persistSkew)
pollTimeUdp
- Parameters:
svc
- aMonitoredService
object.parameters
- aMap
object.serviceStatus
- aPollStatus
object.tracker
- aTimeoutTracker
object.ipv4Addr
- aInetAddress
object.port
- a int.allowedSkew
- a int.persistSkew
- a boolean.- Returns:
- a
PollStatus
object.
-
-