org.opennms.netmgt.poller.monitors
Class DiskUsageMonitor

java.lang.Object
  extended by org.opennms.netmgt.poller.monitors.AbstractServiceMonitor
      extended by org.opennms.netmgt.poller.monitors.SnmpMonitorStrategy
          extended by org.opennms.netmgt.poller.monitors.DiskUsageMonitor
All Implemented Interfaces:
ServiceMonitor

@Distributable(value=DAEMON)
public final class DiskUsageMonitor
extends SnmpMonitorStrategy

Check for disks via HOST-RESOURCES-MIB. This should be extended to support BOTH UCD-SNMP-MIB and HOST-RESOURCES-MIB

This does SNMP and therefore relies on the SNMP configuration so it is not distributable.

Version:
$Id: $
Author:
Jason Aras

Field Summary
 
Fields inherited from class org.opennms.netmgt.poller.monitors.SnmpMonitorStrategy
EQUALS, GREATER_THAN, GREATER_THAN_EQUALS, LESS_THAN, LESS_THAN_EQUALS, MATCHES, NOT_EQUAL
 
Constructor Summary
DiskUsageMonitor()
           
 
Method Summary
 void initialize(Map<String,Object> parameters)
           This method is called after the framework creates an instance of the plug-in.
 void initialize(MonitoredService svc)
           Called by the poller framework when an interface is being added to the scheduler.
 PollStatus poll(MonitoredService svc, Map<String,Object> parameters)
           This method is the heart of the plug-in monitor.
 String serviceName()
           Returns the name of the service that the plug-in monitors ("DISK-USAGE").
 
Methods inherited from class org.opennms.netmgt.poller.monitors.SnmpMonitorStrategy
meetsCriteria
 
Methods inherited from class org.opennms.netmgt.poller.monitors.AbstractServiceMonitor
log, logDown, logDown, logUp, release, release
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DiskUsageMonitor

public DiskUsageMonitor()
Method Detail

serviceName

public String serviceName()

Returns the name of the service that the plug-in monitors ("DISK-USAGE").

Returns:
The service that the plug-in monitors.

initialize

public void initialize(Map<String,Object> parameters)

This method is called after the framework creates an instance of the plug-in. The framework passes the object a proxy object that can be used to retrieve configuration information specific to the plug-in. Additionally, any parameters for the plug-in from the package definition are passed using the parameters element.

If there is a critical error, like missing service libraries, the the Monitor may throw a ServiceMonitorException. If the plug-in throws an exception then the plug-in will be disabled in the framework.

This method is called after the framework creates an instance of the plug-in. The framework passes the object a proxy object that can be used to retrieve configuration information specific to the plug-in. Additionally, any parameters for the plug-in from the package definition are passed using the parameters element.

If there is a critical error, like missing service libraries, the monitor may throw a ServiceMonitorException. If the plug-in throws an exception then the plug-in will be disabled in the framework.

Initialize the service monitor.

Specified by:
initialize in interface ServiceMonitor
Overrides:
initialize in class AbstractServiceMonitor
Parameters:
parameters - Not currently used
Throws:
RuntimeException - Thrown if an unrecoverable error occurs that prevents the plug-in from functioning.

initialize

public void initialize(MonitoredService svc)

Called by the poller framework when an interface is being added to the scheduler. Here we perform any necessary initialization to prepare the NetworkInterface object for polling.

Specified by:
initialize in interface ServiceMonitor
Overrides:
initialize in class AbstractServiceMonitor
Parameters:
svc - a MonitoredService object.
Throws:
RuntimeException - Thrown if an unrecoverable error occurs that prevents the interface from being monitored.

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 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.

The poll() method is responsible for polling the specified address for SNMP service availability.

Specified by:
poll in interface ServiceMonitor
Specified by:
poll in class SnmpMonitorStrategy
Parameters:
svc - TODO
parameters - The package parameters (timeout, retry, etc...) to be used for this poll.
Returns:
The availability of the interface and if a transition event should be suppressed.
Throws:
RuntimeException - Thrown for any uncrecoverable errors.
See Also:
PollStatus.SERVICE_AVAILABLE, PollStatus.SERVICE_UNAVAILABLE, PollStatus.SERVICE_AVAILABLE, PollStatus.SERVICE_UNAVAILABLE


Copyright © 2011. All Rights Reserved.