RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
In RDK Telemetry, the process of ingestion refers to the collection of telemetry data from various sources within the RDK ecosystem, such as applications, subsystems, and network interfaces. This data is then brought into a central system for processing and analysis. The transformation aspect involves converting this raw telemetry data into a format that is useful for analysis. This may include structuring, filtering, and enriching the data to make it more meaningful for specific uses, like performance monitoring or issue diagnosis. The transformed data can then be used for various purposes, including troubleshooting, network optimization, and improving user experiences. This process ensures that the vast amounts of data generated by RDK devices are effectively utilized to enhance service delivery and operational efficiency.
This reference setup is a simpler solution to upload and view telemetry data from RDK devices based on the Spring boot based Microservice – Elasticsearch DB – Kibana architecture which are used in data processing, data storage and data visualization, respectively.
...
3.Performance Analysis: By tracking various metrics and KPIs, telemetry dashboards enable detailed performance analysis. This can lead to insights into trends, patterns, and potential areas for improvement.
...
VM : Ubuntu 20.04 +
Given below is the VM Configuration for the RDKM reference setup, the configs needs to be modified as per the requirement
VM Configuration
Code Block |
---|
$ sudo apt update
$ sudo apt install openjdk-8-jdk |
2. Check Java installation by running the below command
Code Block |
---|
$ java -version |
3. The output should look something like this:
Code Block |
---|
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1ubuntu1-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode) |
...
Code Block |
---|
sudo apt-get -y install maven |
2. Verify the Apache Maven version using the following command:
Code Block |
---|
mvn -version
|
Check out the code from : https://github.com/rdkcentral/telemetry-data-collector
...
There are upload APIS for RDKB and RDKV devices separately in the microservice. So we need to setup elastic search URL and indexes corresponding to rdkb and rdkv in telemetry-collector\src\main\resources\application.properties. Sample application.properties with reference setup Elastic search given. Change the elastic search URL corresponding to your elastic search-Kibana setup
Code Block |
---|
rdkv.index=rdkv-telemetry
rdkb.index=rdkb-telemetry
elasticsearch.url=http://52.71.72.93:9200/ <Change this accordingly>
server.port=8080 |
2. Go to telemetry-collector and run the below maven command
Code Block |
---|
mvn clean install |
3. War file- telemetry-collector.war will be created in the folder - telemetry-collector\target
Code Block |
---|
wget -c https://downloads.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
|
2. Extract the Tomcat archive to the directory in which you want to deploy the Automatics Tools
Code Block |
---|
sudo tar -xvf apache-tomcat-9.0.85.tar.gz -C /opt/automatics/ |
Code Block |
---|
./startup.sh |
3. Sample output is given below
...
...
VM : Ubuntu 20.04 +
You can either deploy the EK setup in the same VM or use another VM. For reference setup, we have used two separate ubuntu server instances
...
...
Code Block |
---|
curl -X PUT "localhost:9200/rdkb-telemetry" -H 'Content-Type: application/json' -d'
{
"mappings": {
"properties": {
"Time": {
"type": "date" ,
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
'
|
To create RDKV index in elastic search DB, run the following command
Code Block |
---|
curl -X PUT "localhost:9200/rdkv-telemetry" -H 'Content-Type: application/json' -d'
{
"mappings": {
"properties": {
"Time": {
"type": "date" ,
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
' |
3. To create an index from the Kibana
Code Block |
---|
PUT /rdkb-telemetry
{
"mappings": {
"properties": {
"Time": {
"type": "date" ,
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
} |
Code Block |
---|
PUT /rdkv-telemetry
{
"mappings": {
"properties": {
"Time": {
"type": "date" ,
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
} |
2. If you want to setup RDKB telemetry dashboard, add name as rdkb-telemetry, Select 'Time' from the drop down menu, You will get a message like this - 'Your index pattern matches 1 source.' Click on 'Create index pattern'
If you want to setup RDKV telemetry dashboard, add name as rdkv-telemetry, Select 'Time' from the drop down menu, You will get a message like this - 'Your index pattern matches 1 source.' Click on 'Create index pattern'.
VM : Ubuntu 20.04 +
Given below is the VM Configuration for the RDKM reference setup, the configs needs to be modified as per the requirement
VM Configuration
Code Block |
---|
$ sudo apt update
$ sudo apt install openjdk-8-jdk |
2. Check Java installation by running the below command
Code Block |
---|
$ java -version |
3. The output should look something like this:
Code Block |
---|
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1ubuntu1-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode) |
Code Block |
---|
sudo apt-get -y install maven |
2. Verify the Apache Maven version using the following command:
Code Block |
---|
mvn -version
|
Check out the code from : https://github.com/rdkcentral/telemetry-data-collector
Code Block |
---|
There are upload APIS for RDKB and RDKV devices separately in the microservice. So we need to setup elastic search URL and indexes corresponding to rdkb and rdkv in telemetry-collector\src\main\resources\application.properties. Sample application.properties with reference setup Elastic search given. Change the elastic search URL corresponding to your elastic search-Kibana setup
Code Block |
---|
rdkv.index=rdkv-telemetry
rdkb.index=rdkb-telemetry
elasticsearch.url=http://52.71.72.93:9200/ <Change this accordingly>
server.port=8080 |
2. Go to telemetry-collector and run the below maven command
Code Block |
---|
mvn clean install |
3. War file- telemetry-collector.war will be created in the folder - telemetry-collector\target
Code Block |
---|
wget -c https://downloads.apache.org/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
|
2. Extract the Tomcat archive to the directory in which you want to deploy the Automatics Tools
Code Block |
---|
sudo tar -xvf apache-tomcat-9.0.85.tar.gz -C /opt/automatics/ |
Code Block |
---|
./startup.sh |
3. Sample output is given below
4. Logs can be found in the file - apache-tomcat<>/logs/catalina.out
The APis support upload of both telemetry (Single profile) and telemetry(Multi Profile) which are in different JSON schema/format
RDKB telemetry upload API :
Code Block |
---|
http://<Server IP/FQDN>:8080/telemetry-collector/rdkb-collector |
RDKV telemetry upload API
Code Block |
---|
http://<Server IP/FQDN>:8080/telemetry-collector/rdkv-collector |
We have two servers which are used for microservice deployment and Elasticsearch-Kibana setup
Telemetry collector VM -
IP - 52.0.158.162
FQDN : telemetrycollector.rdkcentral.com
RAM : 16GB
Disk space : 128 GB
Ubuntu : 20.04.6 LTS
Telemetry Dashboard VM -
IP- 52.71.72.93
FQDN : telemetrydashboard.rdkcentral.com
RAM : 16GB
Disk space : 300 GB +
Ubuntu : 20.04.6 LTS
These are the telemetry upload URLs configured for RDKB and RDKV
RDKB : https://telemetrycollector.rdkcentral.com/telemetry-collector/rdkb-collector
RDKV: https://telemetrycollector.rdkcentral.com/telemetry-collector/rdkv-collector
We have currently setup RDKB and RDKV dashboards in the Kibana instance. Given below are the details
Device Performance - https://telemetrydashboard.rdkcentral.com:5601/app/dashboards#/view/714270f0-a933-11ee-9d36-e37c9e3d744b?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-2w,to:now))