WebNMS SNMP API - Go Edition is a comprehensive development toolkit for developing SNMP (Simple Network Management Protocol) based network management applications using Go language. It offers extensive and powerful libraries in Go to build real-time applications to manage and monitor network devices such as routers, servers, switches etc., at ease.
It provides various APIs to perform all the SNMP operations like Get, Get-Next, Set, Get-Bulk supporting all the three versions of SNMP viz., SNMPv1, SNMPv2c, and SNMPv3. Moreover, SNMP Manager application built using the Go SNMP API can receive SNMP Traps, Inform messages (notifications) with valid authenticity from agent configured network devices. Using these APIs, one can develop a highly flexible, reliable and scalable applications with minimal development time.
It also provides APIs for developing agent applications that can run in any managed devices to respond to the queries from manager applications. It offers libraries at two levels such as High-Level and Low-Level APIs to aid the developers in application development based on the development time that they can possibly invest and required customization levels.
Low-Level APIs provide more control over the resources and easy plugging of user required custom implementations, whereas High-Level APIs take care of the low-level resource management and provides the user with out-of-the-box support for performing all the SNMP operations with minimum effort. It abstracts the finer details of implementation of SNMP standards, thereby making it relatively easier for developers to develop SNMP applications.

Key Features of WebNMS Go SNMP API

  • Multi-Version Support: Support for all three SNMP Versions - SNMPv1, SNMPv2c, and SNMPv3 with compliance to RFC standards.
  • SNMPv3 Security: Support for authentication algorithms – MD5, SHA1 and privacy algorithms – DES, 3DES, AES-128, AES-192, and AES-256.
  • Transport Protocols: Supports UDP/TCP transport protocols out-of-the-box and option provided for plugging users’ required custom protocols easily.
  • Database Support: Provides support for database storage which can be used for storing the SNMPv3 configuration like USM user details, remote entity's details etc., with inter-operability among different relational databases like MySQL, PostgreSQL, Oracle. Provides support for plugging custom Database Dialects, supporting inter-operability.
  • Logging: Highly configurable logging support in the product. Similar to Log4J in Java.
  • Communication mode: Supports Synchronous and Asynchronous ways of communication using all SnmpMessage types.
  • Highly Customizable API: Option for plugging in different SNMP models viz., Message Processing Models, Security Models and Transport Models etc.,
  • Remote USM key configuration: Provision for changing the remote SNMPv3 entity's auth/priv credentials.
  • Go Executables: Provides command line go executables to perform SNMP operations such as SNMP GET, SNMP GET-NEXT, SNMP SET, SNMP GET-BULK, SNMP TRAP, SNMP INFORM, and SNMP WALK with the remote agent. These sample applications can be used for testing.

Note: Please be noted that SNMP V3 vulnerability issue (VU#878044) described by US-CERT does not exist in any of our WebNMS products. For more details, Click here. Please feel free to contact us at snmp-support@webnms.com for any clarification.