Java Dynamic Management Kit 5.1 Tutorial

20.7 SNMP Master Agent Examples

These examples show you how to register local and remote MIBs within the master agent SNMP adaptor. They demonstrate how to instantiate and use the SnmpProxy and SnmpUsmProxy classes to register the remote MIBs.

In these examples, we demonstrate two different types of SNMP master agent that delegate handling of SNMP requests to subagents:

These examples also contain a manager which is used to send requests to the master agent. This manager operates in synchronous mode. Manager requests are sent both in SNMPv2 and SNMPv3.

Before going through this example, you must be familiar with the agent and manager examples described in Chapter 16, Creating an SNMP Agent and Chapter 17, Developing an SNMP Manager.

The following applications are used in these examples:

SimpleManager

A manager used to query the master agent. This class is in the examplesDir/current/Snmp/MasterAgent/manager directory. The SimpleManager application makes SNMP requests both in SNMPv3 and in SNMPv2 on a Java DMK master agent, and listens to forwarded traps.

StandAloneAgent

A Java DMK SNMPv1/v2 standalone subagent. This class is in the examplesDir/current/Snmp/MasterAgent/standalone directory. The StandAloneAgent application is a multi-protocol SNMP agent implementing a simple MIB containing four OIDs:

  • sysDescr1 value "error1"

  • sysDescr2 value "error2"

  • sysDescr3 value "sysDescr3"

  • sysDescr4 value "sysDescr4"

This simple MIB contains a single fake system group registered in the OID space of MIB-II.

MasterAgent

A simple SNMPv1/v2 master agent, configured with a single remote MIB implemented by a single subagent. This class is in the examplesDir/current/Snmp/MasterAgent/master directory. The MasterAgent application registers an SnmpProxy to forward requests to the remote MIB implemented by the StandAloneAgent, and forwards SNMPv1 and v2 traps to SNMPv1 and v2 managers.

MasterAgentV3

A simple SNMPv3 master agent, configured with a single remote MIB implemented by a single subagent. This class is in the examplesDir/current/Snmp/MasterAgent/master directory. The MasterAgentV3 application registers an SnmpUsmProxy to forward requests to the remote MIB implemented by the StandAloneAgent and forwards SNMPv1 and SNMPv2 traps to SNMPv3 managers.

MasterAgent

A simple master agent that deals with MIBs whose OID spaces overlap. This class is in the examplesDir/current/Snmp/MasterAgent/overlap directory. The MasterAgent application registers an SnmpProxy to forward requests to the remote MIB implemented by the StandAloneAgent subagent. It also locally implements a MIB whose variables sysDescr1 and sysDescr2 with values "sysDescr1", "sysDescr2" overlap with the variables defined in the subagent's MIB.

The SimpleManager is identical to a standard Java DMK SNMP manager. The StandAloneAgent is also identical to a standard Java DMK SNMP standalone agent. It is unaware of the existence of the master agent, unless it is configured to send traps.

There are, however, differences in the way each of the SNMPv1/v2 master agent and the SNMPv3 master agent creates a proxy, as shown in Example 20–2 and Example 20–3. Example 20–4 shows how the MIB overlapping is programmed.

20.7.1 Proxy Creation in SNMPv1 and SNMPv2 Master Agents

In the SNMPv1/v2 master agent example, proxy registration is identical to standard MIB registration. The proxies are created as shown in the following example.


Example 20–2 Proxy Creation in the MasterAgent Example

		[...]

		 // First we need to create a peer to the distant sub agent.
	    //
	    final SnmpPeer peer = 
		 new SnmpPeer(host, Integer.parseInt(port));
	    final SnmpParameters p = new SnmpParameters();

	    // The sub agent is seen as a SNMPv2.
	    //
	    p.setProtocolVersion(SnmpDefinitions.snmpVersionTwo);

	    //Set the parameters to the peer.
	    //
	    peer.setParams(p);
	    
	    // SnmpProxy creation.
	    //
	    final SnmpProxy proxy = new SnmpProxy(snmpAdaptor.getEngine(),
						  peer,"1.3.6.1.2.1");

	    // A SnmpProxy is also an MBean. Register it in the 
	    // MBeanServer.
	    //
	    proxyObjName= new ObjectName("snmp:class=SnmpProxy");
	    server.registerMBean(proxy, proxyObjName);
	    proxy.setSnmpAdaptor(snmpAdaptor);

[...]

To instantiate and register the proxy, the MasterAgent example first of all creates a peer to the subagent using new SnmpPeer(), and creates security parameters p using the SnmpParameters() method. It then sets the subagent as an SMNPv2 agent using setProtocolVersion.

The MasterAgent passes the parameters p to the new peer using peer.setParams. Finally, MasterAgent creates the proxy, passing it the following information:

20.7.2 Proxy Creation in SNMPv3 Master Agents

In the SNMPv3 master agent example, proxy registration is identical to standard MIB registration. The proxies are created as shown in the following example.


Example 20–3 Proxy Creation in the MasterAgentV3 Example

		[...]

		 // First we need to create a peer to the distant SNMPv3 sub 
	    // agent
	    final SnmpUsmPeer peer = 
		 new SnmpUsmPeer(snmpAdaptor.getEngine(),
	    host, Integer.parseInt(port));

	    // Forward the requests.
	    //
	    final SnmpUsmParameters p = 
		new SnmpUsmParameters(snmpAdaptor.getEngine(), 
				      "defaultUser");
	    p.setContextEngineId(peer.getEngineId().getBytes());
	    p.setSecurityLevel(SnmpDefinitions.authNoPriv);
	    peer.setParams(p);
	    peer.processUsmTimelinessDiscovery();
	    
	    final SnmpUsmProxy proxy = 
		 new SnmpUsmProxy(snmpAdaptor.getEngine(),
				 peer, "1.3.6.1.2.1");

	    // A SnmpUsmProxy is also an MBean. Register it in the 
	    // MBeanServer.
	    //
	    proxyObjName= new ObjectName("snmp:class=SnmpUsmProxy");
	    server.registerMBean(proxy, proxyObjName);
	    proxy.setSnmpAdaptor(snmpAdaptor);

		[...]

To instantiate and register the proxy, the MasterAgentV3 example first of all creates a peer to the subagent using new SnmpUsmPeer(), and creates SNMPv3 security parameters p using the SnmpUsmParameters() method. These new security parameters are then passed to the peer using peer.setParams, thus translating all requests that come through the peer into SNMPv3 requests.

Finally, MasterAgent creates the proxy, passing it the following information:

20.7.3 MIB Overlapping in Master Agents

In the overlapping MIB master agent example, proxy registration is identical to standard MIB registration and the proxies are created in the same way as for SNMPv1 and v2 master agents.


Example 20–4 Overlapping MIBs MasterAgent Example

		 // Instantiate a Mib
	    //
	    final MIB1_MIB mib1 = new MIB1_MIB();
	    
	    // Register the local MIB1 implementation for sysDescr1 
	    // and sysDescr2.
	    //
	    final SnmpOid oid1 = new SnmpOid("1.3.6.1.2.1.1.1");
	    final SnmpOid oid2 = new SnmpOid("1.3.6.1.2.1.1.2");

	    // Make an array of these OIDs.
	    //
	    final SnmpOid[] local_oids = {oid1, oid2};

	    // Add the local MIB1 implementation for each redefined oid
	    //
	    snmpAdaptor.addMib(mib1, local_oids);
	    
	    // Initialize the mib
	    //
	    mib1.init();

The overlapping MIB MasterAgent example creates a new MIB using new MIB1_MIB. It then registers the local MIB1 implementation for sysDescr1 and sysDescr2, which are configured into the StandAloneAgent example as error1 and error2, respectively. The local MIB thus shadows the implementation of sysDescr1 and sysDescr2 instrumented in the remote MIB, because it is registered with deeper OIDs than the remote MIB.

The MIBs are then added to the SNMP adaptor server using snmpAdaptor.addMib and initialized using init().

20.7.4 Running the SNMP Master Agent Examples

Before running the example applications, compile all the Java classes in each of the four subdirectories inside examplesDir/current/Snmp/MasterAgent, by typing the following command in each directory.


$ javac -classpath classpath -d . *.java

The following procedures give instructions to run five different SNMP master agent scenarios:

Ensure that no agents are already running before you start the examples.

To Send Requests From a Manager to the SNMPv2 Master Agent

Because there are no MIBs overlapping in this first example, all the variables implemented by the subagent MIB can be seen from the manager. Thus, you can see that some of the OIDs queried return a DisplayString value of error#.

  1. Start the StandAloneAgent subagent.

    In examplesDir/current/Snmp/MasterAgent/standalone, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    StandAloneAgent 8085
    

    This binds StandAloneAgent to port 8085. Do not send traps when prompted.

  2. Start the SNMPv2 MasterAgent application.

    You need to provide MasterAgent with the following information:

    • The location of its security configuration file, jdmk.security

    • The port on which it should listen for incoming requests, in this case we choose 8087

    • The subagent's host, in this case the local host

    • The subagent's port number, in this case 8085

    In examplesDir/current/Snmp/MasterAgent/master, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    MasterAgent 8087 localhost 8085
    

    The following output is displayed:


    NOTE: HTML adaptor is bound on TCP port 8082
    NOTE: SNMP Adaptor is bound on UDP port 8087
    The master agent forward traps on port : 8088
    
    >> Press Enter if you want to stop.
    
  3. Start the SimpleManager application.

    You need to provide SimpleManager with the following information:

    • The location of its security configuration file, jdmk.security

    • The master agent's host, in this case the local host

    • The port on which the master agent is listening for request, in this case 8087

    In examplesDir/current/Snmp/MasterAgent/manager, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    SimpleManager localhost 8087
    >> Press Enter if you want to send a SNMPv3 request.
    
  4. Press Enter to send an SNMPv3 request

    The following output is displayed:


    SimpleManager::main: Send SNMPv3 get request to SNMPv3 agent  
    on localhost at port 8087
    Result: 
    [Object ID : 1.3.6.1.2.1.1.1.0  (Syntax : String)
    Value : error1, Object ID : 1.3.6.1.2.1.1.2.0  (Syntax : String)
    Value : error2, Object ID : 1.3.6.1.2.1.1.3.0  (Syntax : String)
    Value : sysDescr3, Object ID : 1.3.6.1.2.1.1.4.0  (Syntax : String)
    Value : sysDescr4]
    
    >> Press Enter if you want to send a SNMPv2 request.
    
  5. Press Enter to send an SNMPv2 request

    The following output is displayed:


    SimpleManager::main: Send SNMPv2 get request to SNMP agent 
    on localhost at port 8087
    Result: 
    [Object ID : 1.3.6.1.2.1.1.1.0  (Syntax : String)
    Value : error1, Object ID : 1.3.6.1.2.1.1.2.0  (Syntax : String)
    Value : error2, Object ID : 1.3.6.1.2.1.1.3.0  (Syntax : String)
    Value : sysDescr3, Object ID : 1.3.6.1.2.1.1.4.0  (Syntax : String)
    Value : sysDescr4]
    $
    

    The manager has successfully sent the two requests to the subagent, via the master agent.

To Send Requests From a Manager to the SNMPv3 Master Agent

Because there is no MIB overlapping in this second example, all the variables implemented by the subagent MIB can be seen from the manager. Thus, you see that some of the OIDs queried return a DisplayString value of error#.

  1. Start the StandAloneAgent subagent.

    In examplesDir/current/Snmp/MasterAgent/standalone, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    StandAloneAgent 8085
    

    This binds StandAloneAgent to port 8085. Do not send traps when prompted.

  2. Start the SNMPv3 MasterAgentV3 application.

    You need to provide MasterAgentV3 with the following information:

    • The location of its security configuration file, jdmk.security

    • The port on which it should listen for incoming requests, in this case we choose 8087

    • The subagent's host, in this case the local host

    • The subagent's port number, in this case 8085

    • The manager's host, in this case the local host

    In examplesDir/current/Snmp/MasterAgent/master, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    MasterAgentV3 8087 localhost 8085 localhost
    

    The following output is displayed:


    NOTE: HTML adaptor is bound on TCP port 8082
    NOTE: SNMP Adaptor is bound on UDP port 8087
    
    >> Press Enter if you want to stop.
    
  3. Start the SimpleManager application.

    You need to provide SimpleManager with the following information:

    • The location of its security configuration file, jdmk.security

    • The master agent's host, in this case the local host

    • The port on which the master agent is listening for requests, in this case 8087

    In examplesDir/current/Snmp/MasterAgent/manager, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    SimpleManager localhost 8087
    >> Press Enter if you want to send a SNMPv3 request.
    
  4. Press Enter to send an SNMPv3 request

    The following output is displayed:


    SimpleManager::main: Send SNMPv3 get request to SNMPv3 agent 
    on localhost at port 8087
    Result: 
    [Object ID : 1.3.6.1.2.1.1.1.0  (Syntax : String)
    Value : error1, Object ID : 1.3.6.1.2.1.1.2.0  (Syntax : String)
    Value : error2, Object ID : 1.3.6.1.2.1.1.3.0  (Syntax : String)
    Value : sysDescr3, Object ID : 1.3.6.1.2.1.1.4.0  (Syntax : String)
    Value : sysDescr4]
    
    >> Press Enter if you want to send a SNMPv2 request.
    
  5. Press Enter to send an SNMPv2 request

    The following output is displayed:


    SimpleManager::main: Send SNMPv2 get request to SNMP agent 
    on localhost at port 8087
    Result: 
    [Object ID : 1.3.6.1.2.1.1.1.0  (Syntax : String)
    Value : error1, Object ID : 1.3.6.1.2.1.1.2.0  (Syntax : String)
    Value : error2, Object ID : 1.3.6.1.2.1.1.3.0  (Syntax : String)
    Value : sysDescr3, Object ID : 1.3.6.1.2.1.1.4.0  (Syntax : String)
    Value : sysDescr4]
    $
    

    The manager has successfully sent the two requests to the subagent, via the SNMPv3 master agent.

To Send Requests From a Manager to a Master Agent With Overlapping MIBs

This example is very similar to To Send Requests From a Manager to the SNMPv2 Master Agent, except that the master agent now implements a local MIB which partly shadows the MIB implemented remotely by the agent.

Because the local MIB now shadows the variables for which the value was error#, these pseudo error messages no longer appear in the result displayed.

  1. Start the StandAloneAgent subagent.

    In examplesDir/current/Snmp/MasterAgent/standalone, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    StandAloneAgent 8085
    

    This binds StandAloneAgent to port 8085. Do not send traps when prompted.

  2. Start the overlap MasterAgent application.

    You need to provide MasterAgent with the following information:

    • The location of its security configuration file, jdmk.security

    • The port on which it should listen for incoming requests, in this case we choose 8087

    • The subagent's host, in this case the local host

    • The subagent's port number, in this case 8085

    In examplesDir/current/Snmp/MasterAgent/overlap, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    MasterAgent 8087 localhost 8085
    

    The following output is displayed:


    NOTE: HTML adaptor is bound on TCP port 8082
    NOTE: SNMP Adaptor is bound on UDP port 8087
    
    >> Press Enter if you want to stop.
    
  3. Start the SimpleManager application.

    You need to provide SimpleManager with the following information:

    • The location of its security configuration file, jdmk.security

    • The master agent's host, in this case the local host

    • The port on which the master agent is listening for requests, in this case 8087

    In examplesDir/current/Snmp/MasterAgent/manager, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    SimpleManager localhost 8087
    >> Press Enter if you want to send a SNMPv3 request.
    
  4. Press Enter to send an SNMPv3 request

    The following output is displayed:


    SimpleManager::main: Send SNMPv3 get request to SNMPv3 
    agent on localhost at port 8087
    Result: 
    [Object ID : 1.3.6.1.2.1.1.1.0  (Syntax : String)
    Value : sysDescr1, Object ID : 1.3.6.1.2.1.1.2.0  (Syntax : String)
    Value : sysDescr2, Object ID : 1.3.6.1.2.1.1.3.0  (Syntax : String)
    Value : sysDescr3, Object ID : 1.3.6.1.2.1.1.4.0  (Syntax : String)
    Value : sysDescr4]
    
    >> Press Enter if you want to send a SNMPv2 request.
    
  5. Press Enter to send an SNMPv2 request

    The following output is displayed:


    SimpleManager::main: Send SNMPv2 get request to SNMP agent 
    on localhost at port 8087
    Result: 
    [Object ID : 1.3.6.1.2.1.1.1.0  (Syntax : String)
    Value : sysDescr1, Object ID : 1.3.6.1.2.1.1.2.0  (Syntax : String)
    Value : sysDescr2, Object ID : 1.3.6.1.2.1.1.3.0  (Syntax : String)
    Value : sysDescr3, Object ID : 1.3.6.1.2.1.1.4.0  (Syntax : String)
    Value : sysDescr4]
    $
    

    The manager has successfully sent the two requests to the subagent, via the overlap master agent. As you can see, the error# values have been replaced by the variables sysDescr1 and sysDescr2, which were configured in the master agent to overlap with the variables in the subagent's MIB.

To Receive Forwarded SNMPv1/v2 Traps in the Manager

In this scenario, an SNMPv1 trap or a v2 trap is sent by the subagent. The master agent forwards the trap as is and sends a translated trap. The version translation from v1 to v2, or from v2 to v1 is performed by the master agent. The manager therefore receives two traps, namely, the initial trap and the translated trap.

  1. Start the StandAloneAgent subagent.

    In examplesDir/current/Snmp/MasterAgent/standalone, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    StandAloneAgent 8085
    

    The following output is displayed:


    NOTE: SNMP Adaptor is bound on UDP port 8085
    Press Return if you want to send trap
    
  2. Press Return to activate stand alone traps

    The following output is displayed:


    Press crtl-c in order to kill the agent
    
    Type 1 in order to launch snmp V1 traps, 2 for snmp V2.
    

    Do not send any traps yet, but leave the StandAloneAgent active.

  3. Start the SNMPv2 MasterAgent application.

    You need to provide MasterAgent with the following information:

    • The location of its security configuration file, jdmk.security

    • The port on which it should listen for incoming requests, in this case we choose 8087

    • The subagent's host, in this case the local host

    • The subagent's port number, in this case 8085

    In examplesDir/current/Snmp/MasterAgent/master, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    MasterAgent 8087 localhost 8085
    

    The following output is displayed:


    NOTE: HTML adaptor is bound on TCP port 8082
    NOTE: SNMP Adaptor is bound on UDP port 8087
    The master agent forward traps on port : 8088
    
    >> Press Enter if you want to stop.
    
  4. Start the SimpleManager application.

    You need to provide SimpleManager with the following information:

    • The location of its security configuration file, jdmk.security

    • The master agent's host, which in this example must be the local host

    • The port on which the master agent is listening for requests, in this case 8087

    In examplesDir/current/Snmp/MasterAgent/manager, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    SimpleManager localhost 8087
    >> Press Enter if you want to send a SNMPv3 request.
    

    Do not send a request this time.

  5. Go back to examplesDir/current/Snmp/MasterAgent/standalone

    The StandAloneAgent should still be waiting to send traps.

  6. Type either 1 or 2 to send SNMPv1 or SNMPv2 traps

    The following output is displayed:


    1
    V1 TRAP to send
    
    Trap V1 sent!
    
    Type 1 in order to launch snmp V1 traps, 2 for snmp V2.
    2
    V2 TRAP to send
    
    Trap V2 sent!
    
    Type 1 in order to launch snmp V1 traps, 2 for snmp V2.
    
  7. Go back to examplesDir/current/Snmp/MasterAgent/manager

    Notice that the SimpleManager application has received SNMPv1 and v2 traps from the StandAloneAgent. The following output from SimpleManager is displayed:


    NOTE: TrapListenerImpl received SNMPv1 trap :
            Generic 0
            Specific 0
            TimeStamp 104549
            Agent adress 129.157.203.98
    NOTE: TrapListenerImpl received SNMPv2 trap:
            CommunityString : 
            VarBind list :
    oid : 1.3.6.1.2.1.1.3.0 val : 0:17:25
    oid : 1.3.6.1.6.3.1.1.4.1.0 val : 1.3.6.1.6.3.1.1.5.1
    oid : 1.2.3.4.5.6.0.0 val : Test values
    oid : 1.2.3.4.5.6.1.0 val : NULL
    oid : 1.2.3.4.5.6.2.0 val : 43
    oid : 1.2.3.4.5.6.3.0 val : Test values
    oid : 1.3.6.1.6.3.18.1.3.0 val : 129.157.203.98
    oid : 1.3.6.1.6.3.18.1.3.0 val : 129.157.203.98
    oid : 1.3.6.1.6.3.18.1.4.0 val : 
    oid : 1.3.6.1.6.3.1.1.4.3.0 val : 1.3.6.1.4.1.42
    
  8. Stop the StandAloneAgent and the SimpleManager by pressing Control-C, and stop the MasterAgent by pressing Enter.

To Receive Forwarded SNMPv3 Traps in the Manager

In this scenario an SNMPv1 or SNMPv2 trap is sent by the subagent. The master agent translates the trap into an SNMP v3 trap and sends it to the manager.

  1. Start the StandAloneAgent subagent.

    In examplesDir/current/Snmp/MasterAgent/standalone, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    StandAloneAgent 8085
    

    The following output is displayed:


    NOTE: SNMP Adaptor is bound on UDP port 8085
    Press Return if you want to send trap
    
  2. Press Return to activate stand alone traps

    The following output is displayed:


    Press crtl-c in order to kill the agent
    
    Type 1 in order to launch snmp V1 traps, 2 for snmp V2.
    

    Do not send any traps yet, but leave the StandAloneAgent active.

  3. Start the SNMPv3 MasterAgentV3 application.

    You need to provide MasterAgentV3 with the following information:

    • The location of its security configuration file, jdmk.security

    • The port on which it should listen for incoming requests, in this case we choose 8087

    • The subagent's host, in this case the local host

    • The subagent's port number, in this case 8085

    • The manager's host, in this case the local host

    In examplesDir/current/Snmp/MasterAgent/master, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    MasterAgentV3 8087 localhost 8085 localhost
    

    The following output is displayed:


    NOTE: HTML adaptor is bound on TCP port 8082
    NOTE: SNMP Adaptor is bound on UDP port 8087
    The master agent forward traps on port : 8088
    
    >> Press Enter if you want to stop.
    
  4. Start the SimpleManager application.

    You need to provide SimpleManager with the following information:

    • The location of its security configuration file, jdmk.security

    • The master agent's host, in this case the local host

    • The port on which the master agent is listening for requests, in this case 8087

    In examplesDir/current/Snmp/MasterAgent/manager, type the following command:


    $ java -classpath classpath -Djdmk.security.file=jdmk.security 
    SimpleManager localhost 8087
    >> Press Enter if you want to send a SNMPv3 request.
    

    Do not send a request this time.

  5. Go back to examplesDir/current/Snmp/MasterAgent/standalone

    The StandAloneAgent should still be waiting to send traps.

  6. Type either 1 or 2 to send SNMPv1 or SNMPv2 traps

    The following output is displayed:


    1
    V1 TRAP to send
    
    Trap V1 sent!
    
    Type 1 in order to launch snmp V1 traps, 2 for snmp V2.
    2
    V2 TRAP to send
    
    Trap V2 sent!
    
    Type 1 in order to launch snmp V1 traps, 2 for snmp V2.
    
  7. Go back to examplesDir/current/Snmp/MasterAgent/manager

    Notice that the SimpleManager application has received SNMPv3 traps from the StandAloneAgent, via MasterAgentV3. The following output from SimpleManager is displayed:


    NOTE: TrapListenerImpl received trap V3:
            ContextEngineId : 0x8000002a05819dcb6e00001f95
            ContextName : TEST-CONTEXT
            VarBind list :
    oid : 1.3.6.1.2.1.1.3.0 val : 0:5:24
    oid : 1.3.6.1.6.3.1.1.4.1.0 val : 1.3.6.1.6.3.1.1.5.1
    oid : 1.2.3.4.5.6.0.0 val : Test values
    oid : 1.2.3.4.5.6.1.0 val : NULL
    oid : 1.2.3.4.5.6.2.0 val : 43
    oid : 1.2.3.4.5.6.3.0 val : Test values
    oid : 1.3.6.1.6.3.18.1.3.0 val : 129.157.203.98
    oid : 1.3.6.1.6.3.18.1.3.0 val : 129.157.203.98
    oid : 1.3.6.1.6.3.18.1.4.0 val : 
    oid : 1.3.6.1.6.3.1.1.4.3.0 val : 1.3.6.1.4.1.42
    
  8. Stop the StandAloneAgent and the SimpleManager by pressing Control-C, and stop the MasterAgentV3 by pressing Enter