Package org.snmp4j.agent.test
Class TestAgent
java.lang.Object
org.snmp4j.agent.BaseAgent
org.snmp4j.agent.test.TestAgent
- All Implemented Interfaces:
Runnable
The
TestAgent
is a sample SNMP agent implementation of all
features (MIB implementations) provided by the SNMP4J-Agent framework.
The TestAgent
extends the BaseAgent
which provides
a framework for custom agent implementations through hook methods. Those
abstract hook methods need to be implemented by extending the
BaseAgent
.
This IF-MIB implementation part of this test agent, is instrumentation as a simulation MIB. Thus, by changing the agentppSimMode (1.3.6.1.4.1.4976.2.1.1.0) from 'oper(1)' to 'config(2)' any object of the IF-MIB is writable and even creatable (columnar objects) via SNMP. Check it out!
- Version:
- 1.0
- Author:
- Frank Fock
-
Field Summary
Fields inherited from class org.snmp4j.agent.BaseAgent
agent, agentState, bootCounterFile, configFileURI, defaultContext, defaultPersistenceProvider, defaultProxyForwarder, dispatcher, mpv3, notificationOriginator, server, session, snmp4jConfigMIB, snmp4jLogMIB, snmpCommunityMIB, snmpFrameworkMIB, snmpMpdMib, snmpNotificationMIB, snmpProxyMIB, snmpTargetMIB, snmpv2MIB, STATE_CREATED, STATE_INIT_FINISHED, STATE_INIT_STARTED, STATE_RUNNING, STATE_STOPPED, sysDescr, sysOID, sysServices, transportMappings, usm, usmMIB, vacmMIB
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
addCommunities
(SnmpCommunityMIB communityMIB) Adds community to security name mappings needed for SNMPv1 and SNMPv2c.protected void
addNotificationTargets
(SnmpTargetMIB targetMIB, SnmpNotificationMIB notificationMIB) Adds initial notification targets and filters.protected void
addUsmUser
(org.snmp4j.security.USM usm) Adds all the necessary initial users to the USM.protected void
Adds initial VACM configuration.protected void
Initializes the transport mappings (ports) to be used by the agent.static void
protected void
Register additional managed objects at the agent's server.protected void
Register the basic MIB modules at the agent'sMOServer
.protected void
Unregister additional managed objects from the agent's server.Methods inherited from class org.snmp4j.agent.BaseAgent
addShutdownHook, finishInit, getAgent, getAgentState, getBootCounterFile, getConfigFile, getContext, getDefaultContext, getDefaultProxyForwarder, getEngineBoots, getMPv3, getNotificationOriginator, getServer, getSession, getSnmp4jConfigMIB, getSnmp4jLogMIB, getSnmpCommunityMIB, getSnmpFrameworkMIB, getSnmpMpdMib, getSnmpNotificationMIB, getSnmpProxyMIB, getSnmpTargetMIB, getSnmpv2MIB, getSysDescr, getSysOID, getSysServices, getUsm, getUsmMIB, getVacmMIB, init, initConfigMIB, initMessageDispatcher, initSnmpSession, loadConfig, run, saveConfig, sendColdStartNotification, setAgent, setBootCounterFile, setConfigFile, setDefaultContext, setDefaultProxyForwarder, setSysDescr, setSysOID, setSysServices, setupDefaultProxyForwarder, stop, unregisterSnmpMIBs, updateEngineBoots, updateSession
-
Field Details
-
address
-
-
Constructor Details
-
TestAgent
Creates the test agent with a file to read and store the boot counter and a file to read and store its configuration.- Parameters:
bootCounterFile
- a file containing the boot counter in serialized form (as expected by BaseAgent).configFile
- a configuration file with serialized management information.- Throws:
IOException
- if the boot counter or config file cannot be read properly.
-
-
Method Details
-
registerManagedObjects
protected void registerManagedObjects()Description copied from class:BaseAgent
Register additional managed objects at the agent's server.- Specified by:
registerManagedObjects
in classBaseAgent
-
addNotificationTargets
Description copied from class:BaseAgent
Adds initial notification targets and filters.- Specified by:
addNotificationTargets
in classBaseAgent
- Parameters:
targetMIB
- the SnmpTargetMIB holding the target configuration.notificationMIB
- the SnmpNotificationMIB holding the notification (filter) configuration.
-
addViews
Description copied from class:BaseAgent
Adds initial VACM configuration. -
addUsmUser
protected void addUsmUser(org.snmp4j.security.USM usm) Description copied from class:BaseAgent
Adds all the necessary initial users to the USM.- Specified by:
addUsmUser
in classBaseAgent
- Parameters:
usm
- the USM instance used by this agent.
-
initTransportMappings
Description copied from class:BaseAgent
Initializes the transport mappings (ports) to be used by the agent.- Overrides:
initTransportMappings
in classBaseAgent
- Throws:
IOException
- if an IO exception occurs while initializing the default transport mapping on all local IP addresses on port 161.
-
main
-
unregisterManagedObjects
protected void unregisterManagedObjects()Description copied from class:BaseAgent
Unregister additional managed objects from the agent's server.- Specified by:
unregisterManagedObjects
in classBaseAgent
-
addCommunities
Description copied from class:BaseAgent
Adds community to security name mappings needed for SNMPv1 and SNMPv2c.- Specified by:
addCommunities
in classBaseAgent
- Parameters:
communityMIB
- the SnmpCommunityMIB holding coexistence configuration for community based security models.
-
registerSnmpMIBs
protected void registerSnmpMIBs()Description copied from class:BaseAgent
Register the basic MIB modules at the agent'sMOServer
.- Overrides:
registerSnmpMIBs
in classBaseAgent
-