| .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| .. http://creativecommons.org/licenses/by/4.0 |
| .. _ves-architecture: |
| |
| VES Architecture |
| ================ |
| |
| .. image:: ./ves-deployarch.png |
| |
| VES Processing Flow |
| ------------------- |
| |
| 1. Collector supports different URI based on single or batch event to be received. |
| 2. Post authentication – events are validated against schema. At this point – appropriate return code is sent to client when validation fails. |
| 3. Event Processor checks against transformation rules (if enabled) and handles VES output standardization (e.g. VES 7.x input to VES5.4 output). |
| 4. Optional (activated by flag *collector.externalSchema.checkflag*) post authentication of stndDefined fields – specific fields are validated against schema. At this point – appropriate return code is sent to client when validation fails. |
| 5. If no problems were detected during previous steps, success HTTP code is being returned. |
| 6. Based on domain (or stndDefinedNamespace), events are asynchronously distributed to configurable topics. |
| 1. If topic mapping does not exist, event distribution is skipped. |
| 2. Post to outbound topic(s). |
| 3. If DMaaP publish is unsuccessful, messages will be queued per topic within VESCollector. |
| |
| Note: As the collector is deployed as micro-service, all configuration parameters (including DMaaP topics) are passed to the collector dynamically. VEScollector refreshes the configuration from CBS every 5 minutes |
| |
| .. image:: ./ves-processing-flow.png |
| .. This image has been created using online editor https://app.diagrams.net/ and can be easily edited there. |
| Editable file version of this image is located in docs/sections/services/ves-http/ves-processing-flow.drawio |
| and might be imported into editor. |
| |
| VES Schema Validation |
| --------------------- |
| |
| VES Collector is configured to support below VES Version; the corresponding API uses VES schema definition for event validation. |
| |
| =========== ================ ================================== |
| VES Version API version Schema Definition |
| =========== ================ ================================== |
| VES 1.2 eventListener/v1 `CommonEventFormat_Vendors_v25.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_Vendors_v25.json>`_ |
| VES 4.1 eventListener/v4 `CommonEventFormat_27.2.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_27.2.json>`_ |
| VES 5.4 eventListener/v5 `CommonEventFormat_28.4.1.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_28.4.1.json>`_ |
| VES 7.2 eventListener/v7 `CommonEventFormat_30.2_ONAP.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_30.2_ONAP.json>`_ |
| =========== ================ ================================== |
| |
| Features Supported |
| ------------------ |
| |
| - VES collector deployed as docker containers |
| - Acknowledgement to sender with appropriate response code (both successful and failure) |
| - Authentication of the events posted to collector (support 2 types of authentication setting) |
| - Support single or batch JSON events input |
| - General schema validation (against standard VES definition) |
| - StndDefined fields schema validation |
| - Mapping of external schemas to local schema files during stndDefined validation |
| - Multiple schema support and backward compatibility |
| - Configurable event transformation |
| - Configurable suppression |
| - Publish events into Dmaap Topic (with/without AAF) |
| |
| The collector can receive events via standard HTTP port (8080) or secure port (8443). Depending on the install/configuration – either one or both can be supported (ports are also modifiable). |
| |
| Dynamic configuration fed into Collector via DCAEPlatform |
| --------------------------------------------------------- |
| |
| - Outbound Dmaap/UEB topic |
| - Schema version to be validated against |
| - Authentication account for VNF |
| |
| POST requests result in standard HTTP status codes: |
| |
| - 200-299 Success |
| - 400-499 Client request has a problem (data error) |
| - 500-599 Collector service has a problem |
| |
| |