public class TestAgent extends BaseAgent
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!
Modifier and Type | Field and Description |
---|---|
protected String |
address |
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 and Description |
---|
TestAgent(File bootCounterFile,
File configFile)
Creates the test agent with a file to read and store the boot counter and
a file to read and store its configuration.
|
Modifier and Type | Method and Description |
---|---|
protected 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 |
addViews(VacmMIB vacm)
Adds initial VACM configuration.
|
protected void |
initTransportMappings()
Initializes the transport mappings (ports) to be used by the agent.
|
static void |
main(String[] args) |
protected void |
registerManagedObjects()
Register additional managed objects at the agent's server.
|
protected void |
registerSnmpMIBs()
Register the basic MIB modules at the agent's
MOServer . |
protected void |
unregisterManagedObjects()
Unregister additional managed objects from the agent's server.
|
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
protected String address
public TestAgent(File bootCounterFile, File configFile) throws IOException
bootCounterFile
- a file containing the boot counter in serialized form (as expected by
BaseAgent).configFile
- a configuration file with serialized management information.IOException
- if the boot counter or config file cannot be read properly.protected void registerManagedObjects()
BaseAgent
registerManagedObjects
in class BaseAgent
protected void addNotificationTargets(SnmpTargetMIB targetMIB, SnmpNotificationMIB notificationMIB)
BaseAgent
addNotificationTargets
in class BaseAgent
targetMIB
- the SnmpTargetMIB holding the target configuration.notificationMIB
- the SnmpNotificationMIB holding the notification (filter)
configuration.protected void addViews(VacmMIB vacm)
BaseAgent
protected void addUsmUser(org.snmp4j.security.USM usm)
BaseAgent
addUsmUser
in class BaseAgent
usm
- the USM instance used by this agent.protected void initTransportMappings() throws IOException
BaseAgent
initTransportMappings
in class BaseAgent
IOException
- if an IO exception occurs while initializing the default transport mapping on all local IP addresses on
port 161.public static void main(String[] args)
protected void unregisterManagedObjects()
BaseAgent
unregisterManagedObjects
in class BaseAgent
protected void addCommunities(SnmpCommunityMIB communityMIB)
BaseAgent
addCommunities
in class BaseAgent
communityMIB
- the SnmpCommunityMIB holding coexistence configuration for community
based security models.protected void registerSnmpMIBs()
BaseAgent
MOServer
.registerSnmpMIBs
in class BaseAgent
Copyright © 2020 SNMP4J.org. All rights reserved.