Class TestAgent

  • All Implemented Interfaces:
    java.lang.Runnable

    public class TestAgent
    extends BaseAgent
    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 Detail

      • address

        protected java.lang.String address
    • Constructor Detail

      • TestAgent

        public TestAgent​(java.io.File bootCounterFile,
                         java.io.File configFile)
                  throws java.io.IOException
        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:
        java.io.IOException - if the boot counter or config file cannot be read properly.
    • Method Detail

      • registerManagedObjects

        protected void registerManagedObjects()
        Description copied from class: BaseAgent
        Register additional managed objects at the agent's server.
        Specified by:
        registerManagedObjects in class BaseAgent
      • addNotificationTargets

        protected void addNotificationTargets​(SnmpTargetMIB targetMIB,
                                              SnmpNotificationMIB notificationMIB)
        Description copied from class: BaseAgent
        Adds initial notification targets and filters.
        Specified by:
        addNotificationTargets in class BaseAgent
        Parameters:
        targetMIB - the SnmpTargetMIB holding the target configuration.
        notificationMIB - the SnmpNotificationMIB holding the notification (filter) configuration.
      • addViews

        protected void addViews​(VacmMIB vacm)
        Description copied from class: BaseAgent
        Adds initial VACM configuration.
        Specified by:
        addViews in class BaseAgent
        Parameters:
        vacm - the VacmMIB holding the agent's view 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 class BaseAgent
        Parameters:
        usm - the USM instance used by this agent.
      • initTransportMappings

        protected void initTransportMappings()
                                      throws java.io.IOException
        Description copied from class: BaseAgent
        Initializes the transport mappings (ports) to be used by the agent.
        Overrides:
        initTransportMappings in class BaseAgent
        Throws:
        java.io.IOException - if an IO exception occurs while initializing the default transport mapping on all local IP addresses on port 161.
      • main

        public static void main​(java.lang.String[] args)
      • unregisterManagedObjects

        protected void unregisterManagedObjects()
        Description copied from class: BaseAgent
        Unregister additional managed objects from the agent's server.
        Specified by:
        unregisterManagedObjects in class BaseAgent
      • addCommunities

        protected void addCommunities​(SnmpCommunityMIB communityMIB)
        Description copied from class: BaseAgent
        Adds community to security name mappings needed for SNMPv1 and SNMPv2c.
        Specified by:
        addCommunities in class BaseAgent
        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's MOServer.
        Overrides:
        registerSnmpMIBs in class BaseAgent