diff options
Diffstat (limited to 'docs/sections/services/ves-http')
-rw-r--r-- | docs/sections/services/ves-http/VES-processingFlow.png | bin | 0 -> 71422 bytes | |||
-rw-r--r-- | docs/sections/services/ves-http/architecture.rst | 60 | ||||
-rw-r--r-- | docs/sections/services/ves-http/configuration.rst | 67 | ||||
-rw-r--r-- | docs/sections/services/ves-http/delivery.rst | 9 | ||||
-rw-r--r-- | docs/sections/services/ves-http/index.rst | 15 | ||||
-rw-r--r-- | docs/sections/services/ves-http/installation.rst | 24 | ||||
-rw-r--r-- | docs/sections/services/ves-http/ves-deployarch.png | bin | 0 -> 123286 bytes |
7 files changed, 175 insertions, 0 deletions
diff --git a/docs/sections/services/ves-http/VES-processingFlow.png b/docs/sections/services/ves-http/VES-processingFlow.png Binary files differnew file mode 100644 index 00000000..6d9e28bc --- /dev/null +++ b/docs/sections/services/ves-http/VES-processingFlow.png diff --git a/docs/sections/services/ves-http/architecture.rst b/docs/sections/services/ves-http/architecture.rst new file mode 100644 index 00000000..d7815d36 --- /dev/null +++ b/docs/sections/services/ves-http/architecture.rst @@ -0,0 +1,60 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +VES Architecture +=================== + +.. image:: ./ves-deployarch.png + +VES Processing Flow +=================== + +.. image:: ./VES-processingFlow.png + + +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 +VES 4.1 eventListener/v4 CommonEventFormat_27.2.json +VES 5.4 eventListener/v5 CommonEventFormat_28.4.1.json +VES 7.0 eventListener/v7 CommonEventFormat_30.0.1.json +============== ========================== ================================== + +Schema definition files are contained within VES collector gerrit repo - https://git.onap.org/dcaegen2/collectors/ves/tree/etc + + +Features Supported +================== +- VES collector deployed as docker containers +- Acknowledged the sender with appropriate response code (both successful and failure) +- Authentication of the events posted to collector +- Support single or batch JSON events input +- Schema validation (against standard VES definition) +- 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 + + diff --git a/docs/sections/services/ves-http/configuration.rst b/docs/sections/services/ves-http/configuration.rst new file mode 100644 index 00000000..c7f2fe6e --- /dev/null +++ b/docs/sections/services/ves-http/configuration.rst @@ -0,0 +1,67 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Configuration +============= + +VES expects to be able to fetch configuration directly from consul service in following JSON format: + +.. code-block:: json + + { + "collector.dynamic.config.update.frequency": "5", + "event.transform.flag": "0", + "collector.schema.checkflag": "1", + "collector.dmaap.streamid": "fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration", + "collector.service.port": "8080", + "collector.schema.file": "{\"v1\":\"./etc/CommonEventFormat_27.2.json\",\"v2\":\"./etc/CommonEventFormat_27.2.json\",\"v3\":\"./etc/CommonEventFormat_27.2.json\",\"v4\":\"./etc/CommonEventFormat_27.2.json\",\"v5\":\"./etc/CommonEventFormat_28.4.1.json\",\"v7\":\"./etc/CommonEventFormat_30.0.1.json\"}", + "collector.keystore.passwordfile": "/opt/app/VESCollector/etc/passwordfile", + "collector.inputQueue.maxPending": "8096", + "streams_publishes": { + "ves-measurement": { + "type": "message_router", + "dmaap_info": { + "topic_url": "http://message-router:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT/" + } + }, + "ves-fault": { + "type": "message_router", + "dmaap_info": { + "topic_url": "http://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT/" + } + }, + "ves-pnfRegistration": { + "type": "message_router", + "dmaap_info": { + "topic_url": "http://message-router:3904/events/unauthenticated.VES_PNFREG_OUTPUT/" + } + }, + "ves-other": { + "type": "message_router", + "dmaap_info": { + "topic_url": "http://message-router:3904/events/unauthenticated.SEC_OTHER_OUTPUT/" + } + }, + "ves-heartbeat": { + "type": "message_router", + "dmaap_info": { + "topic_url": "http://message-router:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT/" + } + }, + "ves-notification": { + "type": "message_router", + "dmaap_info": { + "topic_url": "http://message-router:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/" + } + } + }, + "collector.service.secure.port": "8443", + "header.authflag": "0", + "collector.keystore.file.location": "/opt/app/VESCollector/etc/keystore", + "collector.keystore.alias": "dynamically generated", + "services_calls": [], + "header.authlist": "sample1,c2FtcGxlMQ==" + } + + +During ONAP OOM/Kubernetes deployment this configuration is created from VES cloudify blueprint. diff --git a/docs/sections/services/ves-http/delivery.rst b/docs/sections/services/ves-http/delivery.rst new file mode 100644 index 00000000..0e5e826a --- /dev/null +++ b/docs/sections/services/ves-http/delivery.rst @@ -0,0 +1,9 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Delivery +======== + +**VES** is delivered as a docker container and published in ONAP Nexus repository following image naming convention. + +Full image name is `onap/org.onap.dcaegen2.collectors.ves.vescollector`.
\ No newline at end of file diff --git a/docs/sections/services/ves-http/index.rst b/docs/sections/services/ves-http/index.rst index e1ad6e72..286e765b 100644 --- a/docs/sections/services/ves-http/index.rst +++ b/docs/sections/services/ves-http/index.rst @@ -7,5 +7,20 @@ VNF Event Streaming (VES) Collector .. Add or remove sections below as appropriate for the platform component. +**Virtual Event Streaming** (VES) Collector (formerly known as Standard Event Collector/Common Event Collector) is RESTful collector for processing JSON messages into DCAE. The collector supports individual events or eventbatch posted to collector end-point(s) and post them to interface/bus for other application to subscribe. +The collector verifies the source (when authentication is enabled) and validates the events against VES schema before distributing to DMAAP MR topics for downstream system to subscribe. The VESCollector also supports configurable event transformation function and event distribution to DMAAP MR topics. + + + VES Collector (HTTP) overview and functions +=========================================== + +.. toctree:: + :maxdepth: 1 + ./architecture.rst + ./configuration.rst + ./delivery.rst + ./installation.rst + `API`_ +.. _API: ../../apis/swagger_vescollector.yaml
\ No newline at end of file diff --git a/docs/sections/services/ves-http/installation.rst b/docs/sections/services/ves-http/installation.rst new file mode 100644 index 00000000..27f46463 --- /dev/null +++ b/docs/sections/services/ves-http/installation.rst @@ -0,0 +1,24 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Installation +============ + +To run VES Collector container on standalone mode, following parameters are required + + ``docker run -d -p 8080:8080/tcp -p 8443:8443/tcp -P -e DMAAPHOST='10.0.11.1' nexus.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.3.1`` + + +DMAAPHOST is required for standalone; for normal platform installed instance the publish URL are obtained from Consul. Below parameters are exposed for DCAE platform (cloudify) deployed instance + + +- COLLECTOR_IP +- DMAAPHOST - should contain an address to DMaaP, so that event publishing can work +- CBSPOLLTIMER - it should be put in here if we want to automatically fetch configuration from CBS. +- CONSUL_PROTOCOL - Consul protocol by default set to **http**, if it is need to change it then that can be set to different value +- CONSUL_HOST - used with conjunction with CBSPOLLTIMER, should be a host address (without port! e.g my-ip-or-host) where Consul service lies +- CBS_PROTOCOL - Config Binding Service protocol by default set to **http**, if it is need to change it then that can be set to different value +- CONFIG_BINDING_SERVICE - used with conjunction with CBSPOLLTIMER, should be a name of CBS as it is registered in Consul +- HOSTNAME - used with conjunction with CBSPOLLTIMER, should be a name of VESCollector application as it is registered in CBS catalog + +These parameters can be configured either by passing command line option during `docker run` call or by specifying environment variables named after command line option name
\ No newline at end of file diff --git a/docs/sections/services/ves-http/ves-deployarch.png b/docs/sections/services/ves-http/ves-deployarch.png Binary files differnew file mode 100644 index 00000000..fd4db1bc --- /dev/null +++ b/docs/sections/services/ves-http/ves-deployarch.png |