update link to upper-constraints.txt
[dcaegen2.git] / docs / sections / services / snmptrap / architecture.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 Architecture
5 ============
6
7 The ONAP **SNMPTRAP** project (referred to as **"trapd"** - as in "trap daemon" throughout
8 this documentation) is a network facing ONAP platform component.
9
10 The simple network management protocol (or "SNMP", for short) is a pervasive
11 communication protocol standard used between managed devices and a management system.
12 It is used to relay data that can be valuable in the operation, fault identification
13 and planning processes of all networks.
14
15 SNMP utilizes a message called a "trap" to inform SNMP managers of abnormal
16 or changed conditions on a resource that is running a SNMP agent.  These
17 agents can run on physical or virtual resources (no difference in reporting)
18 and can notify on anything from hardware states, resource utilization,
19 software processes or anything else specific to the agent's environment.
20
21
22 Capabilities
23 ------------
24
25 **trapd** receives SNMP traps and publishes them to a  message router (DMAAP/MR)
26 instance based on attributes obtained from configuration binding service ("CBS").
27
28 .. image:: ./ONAP_trapd.png
29
30
31 Interactions
32 ------------
33
34 Traps are published to DMAAP/MR in a json format.  Once traps are published
35 to a DMAAP/MR instance, they are available to consumers that are
36 subscribed to the topic they were published to.
37
38
39 Usage Scenarios
40 ---------------
41
42 **trapd** runs in a docker container based on python 3.6.  Running
43 an instance of **trapd** will result in arriving traps being published
44 to the topic specified by config binding services.  If CBS is not present,
45 SNMPTRAP will look for a JSON configuration file specified via the
46 environment variable CBS_SIM_JSON at startup (see "CONFIGURATION" link for details).