.. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 Offered APIs ============ **SNMPTRAP** supports the Simple Network Management Protocol (SNMP) standard. It is a well documented and pervasive protocol, used in all networks worldwide. As an API offering, the only way to interact with **SNMPTRAP** is to send traps that conform to the industry standard specification (RFC1215 - available at https://tools.ietf.org/html/rfc1215 ) to a running instance. To accomplish this, you may: 1. Configure SNMP agents to send native traps to a SNMPTRAP instance. In SNMP agent configurations, this is usually accomplished by setting the "trap target" or "snmp manager" to the IP address of the running VM/container hosting SNMPTRAP. 2. Mimic a SNMP trap using various freely available utilities. Two examples are provided below, be sure to change the target ("localhost") and port ("162") to applicable values in your environment. Net-SNMP -------- .. code-block:: bash snmptrap -d -v 1 -c public ${to_ip_address}:${to_portt} .1.3.6.1.4.1.99999 localhost 6 1 '55' .1.11.12.13.14.15 s "test trap" .. note:: This will display some "read_config_store open failure" errors; they can be ignored, the trap has successfully been sent to the specified destination. pysnmp ------ .. code-block:: python from pysnmp.hlapi import * from pysnmp import debug # debug.setLogger(debug.Debug('msgproc')) errorIndication, errorStatus, errorIndex, varbinds = next(sendNotification(SnmpEngine(), CommunityData('not_public'), UdpTransportTarget(('localhost', 162)), ContextData(), 'trap', [ObjectType(ObjectIdentity('.1.3.6.1.4.1.999.1'), OctetString('test trap - ignore')), ObjectType(ObjectIdentity('.1.3.6.1.4.1.999.2'), OctetString('ONAP pytest trap'))]) ) if errorIndication: print(errorIndication) else: print("successfully sent first trap example, number %d" % i)