Documentation of Data file collector
[nonrtric/plt/ranpm.git] / datafilecollector / docs / overview.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3 .. Copyright (C) 2023 Nordix
4
5
6 Data File Collector
7 ~~~~~~~~~~~~~~~~~~~
8
9 ************
10 Introduction
11 ************
12
13 The task of the Data File Collector is to collect files from traffical nodes in the RAN.
14 The main use case is:
15
16 * The DFC received a File Ready VES event from a Kafka topic. This contains a list of all available files.
17
18 * The DFC fetches files that are not already fectched from the traffical node. This is done using one of the supported file transfer protocols.
19
20 * Each file is stored in an S3 Object Store bucket or in the file system (in a persistent volume).
21
22 * For each stored file, a file publish message is sent to a Kafka topic for further processing.
23
24 Supported file transfer protocols are:
25
26 * SFTP
27
28 * FTPES
29
30 * HTTP
31
32 * HTTPS
33
34
35 The service is implemented in Java Spring Boot.
36
37 .. image:: ./Architecture.png
38    :width: 1000pt
39
40 This product is a part of :doc:`NONRTRIC <nonrtric:index>`.
41
42 **************************
43 Input File Ready VES Event
44 **************************
45
46 Here follows an example of the expected input object:
47
48 .. code-block:: javascript
49
50   {
51    "event":{
52       "commonEventHeader":{
53          "sequence":0,
54          "eventName":"Noti_RnNode-Ericsson_FileReady",
55          "sourceName":"5GRAN_DU",
56          "lastEpochMicrosec":151983,
57          "startEpochMicrosec":15198378,
58          "timeZoneOffset":"UTC+05:00",
59          "changeIdentifier":"PM_MEAS_FILES"
60       },
61       "notificationFields":{
62          "notificationFieldsVersion":"notificationFieldsVersion",
63          "changeType":"FileReady",
64          "changeIdentifier":"PM_MEAS_FILES",
65          "arrayOfNamedHashMap":[
66             {
67                "name":"A20220418.1900-1915_seliitdus00487.xml",
68                "hashMap":{
69                   "fileFormatType":"org.3GPP.32.435#measCollec",
70                   "location":"https://launchpad.net/ubuntu/+source/perf-tools-unstable/1.0+git7ffb3fd-1ubuntu1/+build/13630748/+files/perf-tools-unstable_1.0+git7ffb3fd-1ubuntu1_all.deb",
71                   "fileFormatVersion":"V10",
72                   "compression":"gzip"
73                }
74             }
75          ]
76       }
77    }
78  }
79
80
81 ***************************
82 Output File Publish Message
83 ***************************
84
85
86 Below follows an example of an output File Publish Message. .
87
88 .. code-block:: javascript
89
90    {
91      "productName":"RnNode",
92      "vendorName":"Ericsson",
93      "lastEpochMicrosec":151983,
94      "sourceName":"5GRAN_DU",
95      "startEpochMicrosec":15198378,
96      "timeZoneOffset":"UTC+05:00",
97      "compression":"gzip",
98      "fileFormatType":"org.3GPP.32.435#measCollec",
99      "fileFormatVersion":"V10",
100      "name":"5GRAN_DU/A20220418.1900-1915_seliitdus00487.xml",
101      "changeIdentifier":"PM_MEAS_FILES",
102      "objectStoreBucket":"ropfiles"
103   }
104
105
106 *************
107 Configuration
108 *************
109
110 The DFC is configured via its application.yaml
111
112
113 An example application.yaml configuration file: ":download:`link <../config/application.yaml>`"
114
115
116
117