| .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| .. http://creativecommons.org/licenses/by/4.0 |
| |
| Architecture |
| ============ |
| |
| **SNMPTRAP** (or "trapd", as in trap daemon) is a network facing ONAP platform |
| component. |
| |
| The simple network management protocol (or "SNMP", for short) is a |
| standardized communication protocol used between managed devices (physical, |
| virtual - or anything in between!) 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. |
| |
| It is the "front line" of management in all environments. |
| |
| 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 |
| ------------ |
| |
| **SNMPTRAP** receives simple network management protocol ("SNMP") traps |
| and publishes them to a message router (DMAAP/MR) instance based on |
| attributes obtained from configuration binding service ("CBS"). |
| |
| .. blockdiag:: |
| |
| blockdiag layers { |
| orientation = portrait |
| snmp_agent_1 -> SNMPTRAP; |
| snmp_agent_2 -> SNMPTRAP; |
| snmp_agent_n -> SNMPTRAP; |
| config_binding_service -> SNMPTRAP; |
| SNMPTRAP -> dmaap_mr; |
| |
| group l1 { |
| color = orange; |
| snmp_agent_1; snmp_agent_2; snmp_agent_n; |
| } |
| group l2 { |
| color = blue; |
| SNMPTRAP; |
| } |
| group l3 { |
| color = orange; |
| dmaap_mr; |
| } |
| group l4 { |
| color = gray; |
| config_binding_service; |
| } |
| |
| } |
| |
| |
| 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 |
| --------------- |
| |
| **SNMPTRAP** runs in a docker container based on python 3.6. Running |
| an instance of **SNMPTRAP** will result in arriving traps being published |
| to the topic specified by config binding services. If CBS is not present, |
| SNMPTRAP will look for or a JSON configuration file specified via the |
| environment variable CBS_SIM_JSON at startup. Note that relative paths |
| will be located from the bin (<SNMPTRAP base directory>/bin directory. E.g. |
| |
| .. code-block:: bash |
| |
| CBS_SIM_JSON=../etc/snmptrapd.json |
| |