blob: 7f51f5f4c5cd3ffe8e1087bfc5e1ef63d3c711d3 [file] [log] [blame]
Rich Bennett98476312018-08-25 10:43:15 -04001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
4Architecture
5============
6
7**SNMPTRAP** (or "trapd", as in trap daemon) is a network facing ONAP platform
8component.
9
10The simple network management protocol (or "SNMP", for short) is a
11standardized communication protocol used between managed devices (physical,
12virtual - or anything in between!) and a management system. It is used to
13relay data that can be valuable in the operation, fault identification and
14planning processes of all networks.
15
16It is the "front line" of management in all environments.
17
18SNMP utilizes a message called a "trap" to inform SNMP managers of abnormal
19or changed conditions on a resource that is running a SNMP agent. These
20agents can run on physical or virtual resources (no difference in reporting)
21and can notify on anything from hardware states, resource utilization,
22software processes or anything else specific to the agent's environment.
23
24
25Capabilities
26------------
27
28**SNMPTRAP** receives simple network management protocol ("SNMP") traps
29and publishes them to a message router (DMAAP/MR) instance based on
30attributes obtained from configuration binding service ("CBS").
31
32.. blockdiag::
33
34 blockdiag layers {
35 orientation = portrait
36 snmp_agent_1 -> SNMPTRAP;
37 snmp_agent_2 -> SNMPTRAP;
38 snmp_agent_n -> SNMPTRAP;
Ladue, David (dl3158)b4cb3632018-09-05 12:15:38 -040039 config_binding_service -> SNMPTRAP;
40 SNMPTRAP -> dmaap_mr;
Rich Bennett98476312018-08-25 10:43:15 -040041
42 group l1 {
43 color = orange;
44 snmp_agent_1; snmp_agent_2; snmp_agent_n;
45 }
46 group l2 {
47 color = blue;
48 SNMPTRAP;
49 }
50 group l3 {
51 color = orange;
Ladue, David (dl3158)b4cb3632018-09-05 12:15:38 -040052 dmaap_mr;
Rich Bennett98476312018-08-25 10:43:15 -040053 }
54 group l4 {
55 color = gray;
Ladue, David (dl3158)b4cb3632018-09-05 12:15:38 -040056 config_binding_service;
Rich Bennett98476312018-08-25 10:43:15 -040057 }
58
59 }
60
61
62Interactions
63------------
64
65
66Traps are published to DMAAP/MR in a json format. Once traps are published
67to a DMAAP/MR instance, they are available to consumers that are
68subscribed to the topic they were published to.
69
70
71Usage Scenarios
72---------------
73
Ladue, David (dl3158)b4cb3632018-09-05 12:15:38 -040074**SNMPTRAP** runs in a docker container based on python 3.6. Running
Rich Bennett98476312018-08-25 10:43:15 -040075an instance of **SNMPTRAP** will result in arriving traps being published
76to the topic specified by config binding services. If CBS is not present,
77SNMPTRAP will look for or a JSON configuration file specified via the
Ladue, David (dl3158)b4cb3632018-09-05 12:15:38 -040078environment variable CBS_SIM_JSON at startup. Note that relative paths
Rich Bennett98476312018-08-25 10:43:15 -040079will be located from the bin (<SNMPTRAP base directory>/bin directory. E.g.
80
81.. code-block:: bash
82
83 CBS_SIM_JSON=../etc/snmptrapd.json
84