Documentation of RAN PM
[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 OAM data files from RAN traffic-handling nodes.
14 The main use case is (see also the picture below)):
15
16 * (1) The DFC receives a "File Ready" VES event from a Kafka topic. This contains a list of all available files.
17 * (2) The DFC fetches files that are not already fetched from the relevant RAN traffic-handling nodes. This is done using one of the supported file transfer protocols.
18 * (3) Each file is stored in an S3 Object Store bucket or in the file system (in a persistent volume).
19 * (4) For each stored file, a "File Publish" message is sent to a Kafka topic for further processing.
20 * (5) The "File Publish" message can be subscribed by other components, which can then read the fetched file and process it further.
21
22 .. image:: ./Architecture.png
23    :width: 1000pt
24
25 Supported file transfer protocols are:
26
27 * SFTP
28 * FTPES
29 * HTTP
30 * HTTPS
31
32 The service is implemented in Java Spring Boot.
33
34 This product is a part of :doc:`NONRTRIC <nonrtric:index>`.
35
36 **************************
37 Input File Ready VES Event
38 **************************
39
40 Here follows an example of the expected input object:
41
42 .. code-block:: javascript
43
44   {
45    "event":{
46       "commonEventHeader":{
47          "sequence":0,
48          "eventName":"Noti_RnNode-Ericsson_FileReady",
49          "sourceName":"5GRAN_DU",
50          "lastEpochMicrosec":151983,
51          "startEpochMicrosec":15198378,
52          "timeZoneOffset":"UTC+05:00",
53          "changeIdentifier":"PM_MEAS_FILES"
54       },
55       "notificationFields":{
56          "notificationFieldsVersion":"notificationFieldsVersion",
57          "changeType":"FileReady",
58          "changeIdentifier":"PM_MEAS_FILES",
59          "arrayOfNamedHashMap":[
60             {
61                "name":"A20220418.1900-1915_seliitdus00487.xml",
62                "hashMap":{
63                   "fileFormatType":"org.3GPP.32.435#measCollec",
64                   "location":"https://gnb1.myran.org/pmfiles/",
65                   "fileFormatVersion":"V10",
66                   "compression":"gzip"
67                }
68             }
69          ]
70       }
71    }
72  }
73
74
75 ***************************
76 Output File Publish Message
77 ***************************
78
79
80 Below follows an example of an output File Publish Message.
81
82 .. code-block:: javascript
83
84    {
85      "productName":"RnNode",
86      "vendorName":"Ericsson",
87      "lastEpochMicrosec":151983,
88      "sourceName":"5GRAN_DU",
89      "startEpochMicrosec":15198378,
90      "timeZoneOffset":"UTC+05:00",
91      "compression":"gzip",
92      "fileFormatType":"org.3GPP.32.435#measCollec",
93      "fileFormatVersion":"V10",
94      "name":"5GRAN_DU/A20220418.1900-1915_seliitdus00487.xml",
95      "changeIdentifier":"PM_MEAS_FILES",
96      "objectStoreBucket":"ropfiles"
97   }
98
99
100 *************
101 Configuration
102 *************
103
104 The DFC is configured via its application.yaml
105
106
107 An example application.yaml configuration file: ":download:`link <../config/application.yaml>`"
108
109
110
111