Class AbstractServiceCollector
- java.lang.Object
-
- org.opennms.netmgt.collection.api.AbstractServiceCollector
-
- All Implemented Interfaces:
ServiceCollector
- Direct Known Subclasses:
AbstractRemoteServiceCollector,AbstractSnmpCollector,TcaCollector,XmpCollector
public abstract class AbstractServiceCollector extends Object implements ServiceCollector
Boilerplate code for basicServiceCollectorimplementations. If theServiceCollectoris expected to run on both OpenNMS and Minion, consider extendingAbstractRemoteServiceCollectorinstead.- Author:
- jwhite
-
-
Constructor Summary
Constructors Constructor Description AbstractServiceCollector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetEffectiveLocation(String location)Allows the collector to override the location at which it should be run.Map<String,Object>getRuntimeAttributes(CollectionAgent agent, Map<String,Object> parameters)Invoked before every call to#collect(CollectionAgent, EventProxy, Map)in order to retrieve state/runtime information required for perform the collection.voidinitialize()Initialize the collector.Map<String,String>marshalParameters(Map<String,Object> parameters)Marshal the parameter values to strings, which is necessary for passing the parameters over the wire for the RPC call.Map<String,Object>unmarshalParameters(Map<String,String> parameters)Unmarshal the parameter values from strings.voidvalidateAgent(CollectionAgent agent, Map<String,Object> parameters)Validate whether or not this collector should be scheduled to run against the given agent.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.opennms.netmgt.collection.api.ServiceCollector
collect, getRrdRepository
-
-
-
-
Method Detail
-
initialize
public void initialize() throws CollectionInitializationExceptionDescription copied from interface:ServiceCollectorInitialize the collector. This call will be invoked in OpenNMS before any other calls to the collector are made. This function may be invoked several times during the lifetime or the collector.- Specified by:
initializein interfaceServiceCollector- Throws:
CollectionInitializationException
-
validateAgent
public void validateAgent(CollectionAgent agent, Map<String,Object> parameters) throws CollectionInitializationException
Description copied from interface:ServiceCollectorValidate whether or not this collector should be scheduled to run against the given agent. If the collector cannot, or should not be a run against a given agent, aCollectionInitializationExceptionmust be thrown. In the case of the SNMP collector, this is used to prevent collect from scheduling interfaces other than the those marked as primary on a given node.- Specified by:
validateAgentin interfaceServiceCollector- Throws:
CollectionInitializationException
-
getRuntimeAttributes
public Map<String,Object> getRuntimeAttributes(CollectionAgent agent, Map<String,Object> parameters)
Description copied from interface:ServiceCollectorInvoked before every call to#collect(CollectionAgent, EventProxy, Map)in order to retrieve state/runtime information required for perform the collection. This call will always be performed in OpenNMS.- Specified by:
getRuntimeAttributesin interfaceServiceCollector- Parameters:
agent- Includes details about to the agent from which we wish to collect.parameters- Includes the service parameters defined in collectd-configuration.xml.- Returns:
- Additional attributes, which should be added to the parameter map before calling
#collect(CollectionAgent, EventProxy, Map).
-
getEffectiveLocation
public String getEffectiveLocation(String location)
Description copied from interface:ServiceCollectorAllows the collector to override the location at which it should be run. This call will always be performed in OpenNMS.- Specified by:
getEffectiveLocationin interfaceServiceCollector- Parameters:
location- location associated with the service to be monitored- Returns:
- a possibly updated location
-
marshalParameters
public Map<String,String> marshalParameters(Map<String,Object> parameters)
Description copied from interface:ServiceCollectorMarshal the parameter values to strings, which is necessary for passing the parameters over the wire for the RPC call. We delegate this task to theServiceCollectorinstead of handling it elsewhere since the API, and RPC module do not have access to the model objects used by the collector. This will only be called in OpenNMS when the collector is to be executed remotely.- Specified by:
marshalParametersin interfaceServiceCollector- Returns:
-
unmarshalParameters
public Map<String,Object> unmarshalParameters(Map<String,String> parameters)
Description copied from interface:ServiceCollectorUnmarshal the parameter values from strings. This call will always be performed in Minion.- Specified by:
unmarshalParametersin interfaceServiceCollector- Returns:
-
-