SNMP4J-Agent is a Java™ API on top of the core SNMP4J API for the development of SNMP agents (command responders).
SNMP4J-Agent manages all the complex security and request processing. You just need to add your instrumentation code.
The SNMP4J-Agent Java SNMP agent API adds command responder including notification originator and proxy forwarder support to the SNMP4J core API and comes with:
- Implementations for SNMP-TARGET-MIB, SNMP-NOTIFICATION-MIB, SNMP-PROXY-MIB, SNMP-FRAMEWORK-MIB, SNMPv2-MIB, SNMP-COMMUNITY-MIB, SNMP-USER-BASED-SM-MIB, SNMP-VIEW-BASED-ACM-MIB, NOTIFICATION-LOG-MIB, and SNMP-MPD-MIB, SNMP4J-PROXY-MIB, SNMP-TLS-TM-MIB, SNMP-TSM-MIB, SNMP-USM-DH-OBJECTS-MIB.
- SNMPv1,v2c,v3 multi-lingual agent support, including MD5 and SHA authentication as well as DES, 3DES and AES(128, 192, 256) privacy.
- IPv4 and IPv6 UDP, TCP, and TLS support.
- Code generation from MIB specifications is provided through AgenPro which is a language and API independent template based code generator with round-trip generation facilities.
- Transport Security Model (TSM) including Transport Layer Security Transport Mapping (TLSTM) as defined by RFC 5343, 5590, 5591, 5953. New in version 3:
- Datagram Transport Layer Security (DTLS) Transport Mapping (DTLSTM) as defined by RFC 5343, 5590, 5591, 5953.
- Java™ SE 9 or later, with module support.
- SNMP4J-Agent-DB add-on provides fast database/transactional persistence for MIB data.
SNMP4J-Agent provides many ways of instrumenting your agent - all of which are described in the SNMP4J-Agent Instrumentation Guide PDF:
- Overwrite (implement) a callback method for read (GET, GETNEXT, GETBULK) operations and for writeable objects one or more callback methods of the SNMP two-phase-commit.
- Add a query listener to the managed object server instance to update managed objects just before they are processed by the agent API to fulfill a request.
- Use a background thread to keep managed object values up-to-date.
- Implement database like interface to query values for large (virtual) tables and let the API cache tabular data for best retrieval performance (available with SNMP4J-AgentX).