Class CiscoPingMibMonitor
- java.lang.Object
-
- org.opennms.netmgt.poller.support.AbstractServiceMonitor
-
- org.opennms.netmgt.poller.monitors.SnmpMonitorStrategy
-
- org.opennms.netmgt.poller.monitors.CiscoPingMibMonitor
-
- All Implemented Interfaces:
ServiceMonitor
public class CiscoPingMibMonitor extends SnmpMonitorStrategy
This class is designed to be used by the service poller framework to test the availability of the ICMP service on remote interfaces, using the CISCO-PING-MIB as a proxy of sorts. The class implements the ServiceMonitor interface that allows it to be used along with other plug-ins by the service poller framework. Derived from the SnmpMonitor class. See that class' docs for authorship history.
- Author:
- Jeff Gehlbach, OpenNMS
-
-
Field Summary
-
Fields inherited from class org.opennms.netmgt.poller.monitors.SnmpMonitorStrategy
EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, hex, LESS_THAN, LESS_THAN_EQUALS, MATCHES, NOT_EQUAL
-
-
Constructor Summary
Constructors Constructor Description CiscoPingMibMonitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<java.lang.String,java.lang.Object>
getRuntimeAttributes(MonitoredService svc, java.util.Map<java.lang.String,java.lang.Object> parameters)
PollStatus
poll(MonitoredService svc, java.util.Map<java.lang.String,java.lang.Object> parameters)
This method is the heart of the plug-in monitor.-
Methods inherited from class org.opennms.netmgt.poller.monitors.SnmpMonitorStrategy
getAgentConfig, getStringValue, meetsCriteria
-
Methods inherited from class org.opennms.netmgt.poller.support.AbstractServiceMonitor
getEffectiveLocation, getKeyedBoolean, getKeyedInstance, getKeyedInteger, getKeyedLong, getKeyedObject, getKeyedString, getServiceProperties
-
-
-
-
Method Detail
-
getRuntimeAttributes
public java.util.Map<java.lang.String,java.lang.Object> getRuntimeAttributes(MonitoredService svc, java.util.Map<java.lang.String,java.lang.Object> parameters)
- Specified by:
getRuntimeAttributes
in interfaceServiceMonitor
- Overrides:
getRuntimeAttributes
in classSnmpMonitorStrategy
- 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:
- Additional attributes, which should be added to the parameter map before calling
ServiceMonitor.poll(MonitoredService, Map)
.
-
poll
public PollStatus poll(MonitoredService svc, java.util.Map<java.lang.String,java.lang.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
ServiceMonitor.getRuntimeAttributes(MonitoredService, Map)
.The poll() method is responsible for setting up and following up the IOS ping entry that proxies monitoring of the specified address for ICMP service availability.
- 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.
- Throws:
java.lang.RuntimeException
- Thrown for any unrecoverable errors.- See Also:
PollStatus.SERVICE_AVAILABLE
,PollStatus.SERVICE_UNAVAILABLE
,PollStatus.SERVICE_AVAILABLE
,PollStatus.SERVICE_UNAVAILABLE
-
-