@Distributable public final class DnsMonitor extends AbstractServiceMonitor
This class is designed to be used by the service poller framework to test the availability of the DNS 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.
|Constructor and Description|
|Modifier and Type||Method and Description|
This method is the heart of the plug-in monitor.
getEffectiveLocation, getKeyedBoolean, getKeyedInstance, getKeyedInteger, getKeyedLong, getKeyedObject, getKeyedString, getRuntimeAttributes, getServiceProperties
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
Poll the specified address for DNS service availability.
During the poll an DNS address request query packet is generated for hostname 'localhost'. The query is sent via UDP socket to the interface at the specified port (by default UDP port 53). If a response is received, it is parsed and validated. If the DNS lookup was successful the service status is set to SERVICE_AVAILABLE and the method returns.
svc- Includes details about to the service being monitored.
parameters- Includes the service parameters defined in poller-configuration.xml and those returned by
Copyright © 2019. All rights reserved.