java.lang.Object
org.snmp4j.agent.BaseAgent
- All Implemented Interfaces:
Runnable
Deprecated.
The
BaseAgent abstract class defines a framework for writing
SNMP agents using the SNMP4J-Agent API. To implement your own SNMP agent,
extend this class and implement the abstract methods defined by BaseAgent.
The hook methods do not need any specific implementation. They only provide
a defined mechanism to customize your agent.- Version:
- 1.0
- Author:
- Frank Fock
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CommandProcessorDeprecated.protected intDeprecated.protected org.snmp4j.cfg.EngineBootsCounterFileDeprecated.protected StringDeprecated.protected org.snmp4j.smi.OctetStringDeprecated.protected DefaultMOPersistenceProviderDeprecated.protected ProxyForwarderDeprecated.protected org.snmp4j.MessageDispatcherImplDeprecated.protected org.snmp4j.mp.MPv3Deprecated.protected NotificationOriginatorDeprecated.protected DefaultMOServerDeprecated.protected org.snmp4j.SnmpDeprecated.protected Snmp4jConfigMibDeprecated.protected Snmp4jLogMibDeprecated.protected SnmpCommunityMIBDeprecated.protected SnmpFrameworkMIBDeprecated.protected SnmpMpdMibDeprecated.protected SnmpNotificationMIBDeprecated.protected SnmpProxyMIBDeprecated.protected SnmpTargetMIBDeprecated.protected SNMPv2MIBDeprecated.static final intDeprecated.static final intDeprecated.static final intDeprecated.static final intDeprecated.static final intDeprecated.protected org.snmp4j.smi.OctetStringDeprecated.protected org.snmp4j.smi.OIDDeprecated.protected org.snmp4j.smi.Integer32Deprecated.protected org.snmp4j.TransportMapping<? extends org.snmp4j.smi.Address>[]Deprecated.protected org.snmp4j.security.USMDeprecated.protected UsmMIBDeprecated.protected VacmMIBDeprecated. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseAgent(File bootCounterFile, File configFile, CommandProcessor commandProcessor) Deprecated.Creates a base agent with boot-counter, config file, and a CommandProcessor for processing SNMP requests.protectedDeprecated.Creates a base agent with aDefaultMOServerasMOServer. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidaddCommunities(SnmpCommunityMIB communityMIB) Deprecated.Adds community to security name mappings needed for SNMPv1 and SNMPv2c.protected abstract voidaddNotificationTargets(SnmpTargetMIB targetMIB, SnmpNotificationMIB notificationMIB) Deprecated.Adds initial notification targets and filters.protected voidDeprecated.Adds a shutdown hook that saves the internal config into the config file when a SIGTERM (Ctrl-C) is terminating the agent.protected abstract voidaddUsmUser(org.snmp4j.security.USM usm) Deprecated.Adds all the necessary initial users to the USM.protected abstract voidDeprecated.Adds initial VACM configuration.protected voidDeprecated.Finishes initialization of the agent by connecting server and command processor, setting up USM, VACM, notification targets, and finally sending a coldStart notification to configured targets.getAgent()Deprecated.intDeprecated.Returns the agent's state.Deprecated.Deprecated.protected org.snmp4j.smi.OctetStringgetContext(MOGroup mibGroup) Deprecated.This method can be overwritten by a subagent to specify the contexts each MIB module (group) will be registered to.org.snmp4j.smi.OctetStringDeprecated.Returns the default context - which is the context that is used by the base agent to register its MIB objects.Deprecated.protected intDeprecated.Reads the engine boots counter from the corresponding input stream (file).org.snmp4j.mp.MPv3getMPv3()Deprecated.Deprecated.Deprecated.org.snmp4j.SnmpDeprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.org.snmp4j.smi.OctetStringDeprecated.org.snmp4j.smi.OIDDeprecated.org.snmp4j.smi.Integer32Deprecated.org.snmp4j.security.USMgetUsm()Deprecated.Deprecated.Deprecated.voidinit()Deprecated.Initialize transport mappings, message dispatcher, basic MIB modules, proxy forwarder, VACM and USM security, and custom MIB modules and objects provided by sub-classes.protected voidDeprecated.protected voidDeprecated.Initializes the message dispatcher (MessageDispatcherImpl) with the transport mappings.protected voidDeprecated.protected voidDeprecated.Initializes the transport mappings (ports) to be used by the agent.voidloadConfig(int importMode) Deprecated.Loads the configuration using the specified import mode from the set config file.protected abstract voidDeprecated.Register additional managed objects at the agent's server.protected voidDeprecated.Register the basic MIB modules at the agent'sMOServer.voidrun()Deprecated.Starts the agent by let it listen on the configured SNMP agent ports (transpot mappings).voidDeprecated.Save the current (serializable) managed object configuration into the config file.protected voidDeprecated.voidsetAgent(CommandProcessor agent) Deprecated.voidsetBootCounterFile(File bootCounterFile) Deprecated.voidsetConfigFile(File configFile) Deprecated.voidsetDefaultContext(org.snmp4j.smi.OctetString defaultContext) Deprecated.Sets the default context for this base agent.voidsetDefaultProxyForwarder(ProxyForwarder defaultProxyForwarder) Deprecated.voidsetSysDescr(org.snmp4j.smi.OctetString sysDescr) Deprecated.voidsetSysOID(org.snmp4j.smi.OID sysOID) Deprecated.voidsetSysServices(org.snmp4j.smi.Integer32 sysServices) Deprecated.protected voidDeprecated.Creates and registers the default proxy forwarder application (ProxyForwarderImpl).voidstop()Deprecated.Stops the agent by closing the SNMP session and associated transport mappings.protected abstract voidDeprecated.Unregister additional managed objects from the agent's server.protected voidDeprecated.Unregister the basic MIB modules from the agent'sMOServer.protected intDeprecated.Updates the engine boots counter and returns the actual value.protected voidupdateSession(org.snmp4j.Session session) Deprecated.Updates all objects with a new session instance.
-
Field Details
-
STATE_CREATED
public static final int STATE_CREATEDDeprecated.- See Also:
-
STATE_INIT_STARTED
public static final int STATE_INIT_STARTEDDeprecated.- See Also:
-
STATE_INIT_FINISHED
public static final int STATE_INIT_FINISHEDDeprecated.- See Also:
-
STATE_RUNNING
public static final int STATE_RUNNINGDeprecated.- See Also:
-
STATE_STOPPED
public static final int STATE_STOPPEDDeprecated.- See Also:
-
snmpv2MIB
Deprecated. -
snmpMpdMib
Deprecated. -
snmpFrameworkMIB
Deprecated. -
snmpTargetMIB
Deprecated. -
snmpNotificationMIB
Deprecated. -
snmpProxyMIB
Deprecated. -
snmpCommunityMIB
Deprecated. -
snmp4jLogMIB
Deprecated. -
snmp4jConfigMIB
Deprecated. -
usmMIB
Deprecated. -
vacmMIB
Deprecated. -
server
Deprecated. -
session
protected org.snmp4j.Snmp sessionDeprecated. -
transportMappings
protected org.snmp4j.TransportMapping<? extends org.snmp4j.smi.Address>[] transportMappingsDeprecated. -
dispatcher
protected org.snmp4j.MessageDispatcherImpl dispatcherDeprecated. -
agent
Deprecated. -
mpv3
protected org.snmp4j.mp.MPv3 mpv3Deprecated. -
usm
protected org.snmp4j.security.USM usmDeprecated. -
bootCounterFile
protected org.snmp4j.cfg.EngineBootsCounterFile bootCounterFileDeprecated. -
notificationOriginator
Deprecated. -
defaultProxyForwarder
Deprecated. -
sysDescr
protected org.snmp4j.smi.OctetString sysDescrDeprecated. -
sysOID
protected org.snmp4j.smi.OID sysOIDDeprecated. -
sysServices
protected org.snmp4j.smi.Integer32 sysServicesDeprecated. -
agentState
protected int agentStateDeprecated. -
defaultContext
protected org.snmp4j.smi.OctetString defaultContextDeprecated. -
defaultPersistenceProvider
Deprecated. -
configFileURI
Deprecated.
-
-
Constructor Details
-
BaseAgent
Deprecated.Creates a base agent with aDefaultMOServerasMOServer. To use a different server implementation, modify theservermember after construction.- Parameters:
configURI- the URI of the config file holding persistent data for this agent. If persistent data is not used then set this parameter tonull.
-
BaseAgent
Deprecated.Creates a base agent with boot-counter, config file, and a CommandProcessor for processing SNMP requests.- Parameters:
bootCounterFile- a file with serialized boot-counter information (read/write). If the file does not exist it is created on shutdown of the agent.configFile- a file with serialized configuration information (read/write). If the file does not exist it is created on shutdown of the agent.commandProcessor- theCommandProcessorinstance that handles the SNMP requests.
-
-
Method Details
-
init
Deprecated.Initialize transport mappings, message dispatcher, basic MIB modules, proxy forwarder, VACM and USM security, and custom MIB modules and objects provided by sub-classes.- Throws:
IOException- if initialization fails because transport initialization fails.
-
initConfigMIB
protected void initConfigMIB()Deprecated. -
getContext
Deprecated.This method can be overwritten by a subagent to specify the contexts each MIB module (group) will be registered to.- Parameters:
mibGroup- a group ofManagedObjects (i.e., a MIB module).- Returns:
- the context for which the module should be registered.
- Since:
- 1.1
-
registerSnmpMIBs
protected void registerSnmpMIBs()Deprecated.Register the basic MIB modules at the agent'sMOServer. -
unregisterSnmpMIBs
protected void unregisterSnmpMIBs()Deprecated.Unregister the basic MIB modules from the agent'sMOServer. -
registerManagedObjects
protected abstract void registerManagedObjects()Deprecated.Register additional managed objects at the agent's server. -
unregisterManagedObjects
protected abstract void unregisterManagedObjects()Deprecated.Unregister additional managed objects from the agent's server. -
setupDefaultProxyForwarder
protected void setupDefaultProxyForwarder()Deprecated.Creates and registers the default proxy forwarder application (ProxyForwarderImpl). -
loadConfig
public void loadConfig(int importMode) Deprecated.Loads the configuration using the specified import mode from the set config file.- Parameters:
importMode- one of the import modes defined byImportMode.
-
saveConfig
public void saveConfig()Deprecated.Save the current (serializable) managed object configuration into the config file. -
addShutdownHook
protected void addShutdownHook()Deprecated.Adds a shutdown hook that saves the internal config into the config file when a SIGTERM (Ctrl-C) is terminating the agent. -
finishInit
protected void finishInit()Deprecated.Finishes initialization of the agent by connecting server and command processor, setting up USM, VACM, notification targets, and finally sending a coldStart notification to configured targets. -
sendColdStartNotification
protected void sendColdStartNotification()Deprecated. -
run
public void run()Deprecated.Starts the agent by let it listen on the configured SNMP agent ports (transpot mappings). -
stop
public void stop()Deprecated.Stops the agent by closing the SNMP session and associated transport mappings.- Since:
- 1.1
-
initMessageDispatcher
protected void initMessageDispatcher()Deprecated.Initializes the message dispatcher (MessageDispatcherImpl) with the transport mappings. -
initSnmpSession
protected void initSnmpSession()Deprecated. -
updateSession
protected void updateSession(org.snmp4j.Session session) Deprecated.Updates all objects with a new session instance. This method must be overwritten, if non-default SNMP MIB instances are created by a subclass.- Parameters:
session- a SNMP Session instance.
-
updateEngineBoots
protected int updateEngineBoots()Deprecated.Updates the engine boots counter and returns the actual value.- Returns:
- the actual boots counter value.
-
getEngineBoots
protected int getEngineBoots()Deprecated.Reads the engine boots counter from the corresponding input stream (file).- Returns:
- the boots counter value read or zero if it could not be read.
-
addUsmUser
protected abstract void addUsmUser(org.snmp4j.security.USM usm) Deprecated.Adds all the necessary initial users to the USM.- Parameters:
usm- the USM instance used by this agent.
-
addNotificationTargets
protected abstract void addNotificationTargets(SnmpTargetMIB targetMIB, SnmpNotificationMIB notificationMIB) Deprecated.Adds initial notification targets and filters.- Parameters:
targetMIB- the SnmpTargetMIB holding the target configuration.notificationMIB- the SnmpNotificationMIB holding the notification (filter) configuration.
-
addViews
Deprecated.Adds initial VACM configuration.- Parameters:
vacmMIB- the VacmMIB holding the agent's view configuration.
-
addCommunities
Deprecated.Adds community to security name mappings needed for SNMPv1 and SNMPv2c.- Parameters:
communityMIB- the SnmpCommunityMIB holding coexistence configuration for community based security models.
-
initTransportMappings
Deprecated.Initializes the transport mappings (ports) to be used by the agent.- Throws:
IOException- if an IO exception occurs while initializing the default transport mapping on all local IP addresses on port 161.
-
getNotificationOriginator
Deprecated. -
setDefaultProxyForwarder
Deprecated. -
setSysDescr
public void setSysDescr(org.snmp4j.smi.OctetString sysDescr) Deprecated. -
setSysOID
public void setSysOID(org.snmp4j.smi.OID sysOID) Deprecated. -
setSysServices
public void setSysServices(org.snmp4j.smi.Integer32 sysServices) Deprecated. -
setAgent
Deprecated. -
setBootCounterFile
Deprecated. -
setConfigFile
Deprecated. -
setDefaultContext
public void setDefaultContext(org.snmp4j.smi.OctetString defaultContext) Deprecated.Sets the default context for this base agent. By setting this value before any MIB modules have been registered at the internal server, the context for which the registration is performed can be changed. The default context isnullwhich causes MIB objects to be virtually registered for all contexts.- Parameters:
defaultContext- the context for default MIB objects.- Since:
- 1.1
-
getDefaultProxyForwarder
Deprecated. -
getSysDescr
public org.snmp4j.smi.OctetString getSysDescr()Deprecated. -
getSysOID
public org.snmp4j.smi.OID getSysOID()Deprecated. -
getSysServices
public org.snmp4j.smi.Integer32 getSysServices()Deprecated. -
getAgent
Deprecated. -
getBootCounterFile
Deprecated. -
getConfigFile
Deprecated. -
getSnmp4jConfigMIB
Deprecated. -
getSnmp4jLogMIB
Deprecated. -
getSnmpCommunityMIB
Deprecated. -
getSnmpFrameworkMIB
Deprecated. -
getSnmpNotificationMIB
Deprecated. -
getSnmpProxyMIB
Deprecated. -
getSnmpTargetMIB
Deprecated. -
getSnmpv2MIB
Deprecated. -
getSnmpMpdMib
Deprecated. -
getUsmMIB
Deprecated. -
getVacmMIB
Deprecated. -
getSession
public org.snmp4j.Snmp getSession()Deprecated. -
getServer
Deprecated. -
getMPv3
public org.snmp4j.mp.MPv3 getMPv3()Deprecated. -
getUsm
public org.snmp4j.security.USM getUsm()Deprecated. -
getAgentState
public int getAgentState()Deprecated.Returns the agent's state.- Returns:
- one of the state's starting from
STATE_CREATEDtoSTATE_RUNNING. - Since:
- 1.1
-
getDefaultContext
public org.snmp4j.smi.OctetString getDefaultContext()Deprecated.Returns the default context - which is the context that is used by the base agent to register its MIB objects. By default it isnullwhich causes the objects to be registered virtually for all contexts. In that case, subagents for example my not register their own objects under the same subtree(s) in any context. To allow subagents to register their own instances of those MIB modules, an emptyOctetStringshould be used as default context instead.- Returns:
nullor anOctetString(normally the empty string) denoting the context used for registering default MIBs.- Since:
- 1.1
-
AgentConfigManagerinstead. SeeSampleAgentfor sample code on how to useAgentConfigManager. This class will be removed in SNMP4J-Agent 3.1.