blob: e65be786ea491ea510838fe8ddeed8b157c86b1a [file] [log] [blame]
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
Architecture
============
The ONAP **SNMPTRAP** project (referred to as **"trapd"** - as in "trap daemon" throughout
this documentation) is a network facing ONAP platform component.
The simple network management protocol (or "SNMP", for short) is a pervasive
communication protocol standard used between managed devices and a management system.
It is used to relay data that can be valuable in the operation, fault identification
and planning processes of all networks.
SNMP utilizes a message called a "trap" to inform SNMP managers of abnormal
or changed conditions on a resource that is running a SNMP agent. These
agents can run on physical or virtual resources (no difference in reporting)
and can notify on anything from hardware states, resource utilization,
software processes or anything else specific to the agent's environment.
Capabilities
------------
**trapd** receives SNMP traps and publishes them to a message router (DMAAP/MR)
instance based on attributes obtained from configuration binding service ("CBS").
.. image:: ./ONAP_trapd.png
Interactions
------------
Traps are published to DMAAP/MR in a json format. Once traps are published
to a DMAAP/MR instance, they are available to consumers that are
subscribed to the topic they were published to.
Usage Scenarios
---------------
**trapd** runs in a docker container based on python 3.6. Running
an instance of **trapd** will result in arriving traps being published
to the topic specified by config binding services. If CBS is not present,
SNMPTRAP will look for a JSON configuration file specified via the
environment variable CBS_SIM_JSON at startup (see "CONFIGURATION" link for details).