| .. 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). |