Telemetry

Telemetry is the automatic recording and transmission of data from remote or inaccessible sources to an IT system in a different location for monitoring and analysis. A cron utility is used to schedule the Telemetry feature with a configured frequency and / or configured date and time.

Environment Setup

Build procedure

Follow the wiki page to make yocto's RDK-B image from yocto workspace in your PC.

Wifi-Extender Yocto Build Instructions

Note: Proceed the build procedure in Ubuntu18 version VM

Image Flash procedure

Refer the below link for image flashing

Turris Omnia Reference Platform: Flashing Instruction

 Xconf server

Change Application to stb in top right corner of the window

     

Create Formula

 Login to Xconf Server and go to DCM menu item and click on “Formulas” sub menu and create Formula


Create Device Settings

Xconf Server → DCM → Device Settings 


Create LogUpload Settings

Xconf Server → DCM → LogUpload Settings

Create Upload Repository

Xconf Server → DCM → Upload Repository

TFTP Server

Upload Repository : TFTP Server

Repository URL:  35.155.171.121

HTTP Server

Upload Repository : HTTP Server

Repository URL:  http://35.155.171.121/xconf/logupload.php

Create Permanent Profiles

Xconf Server → Telemetry → Permanent Profiles

  •  "Schedule" – This gives the information about the schedule log upload frequency and / or date and time for the telemetry upload schedule.

For example,   */5 * * * * :- This will schedule the telemetry log upload at every 5 min.

Below is the format for this field.


  • Telemetry profile entries 

First field is “Header” - This is the name for the particular logs collection. This is a custom name and can be decided based on the use case or error condition or any other scenario.
Second field is “Content” - This is the "log message string" that appears in the RDK logs.
Third field is “type” - This is the name of the log file where the above log message string needs to be searched.
Fourth field is “Skip frequency” - This is a skip frequency. It can have values like 0, 1, 2 etc.
                     0 - This particular log message is never skipped.
                     1 - Skip every alternate occurrence of this log message.
                     2 - Skip 2 consecutive log message occurrences and then collect 1 occurrence and then again skip 2 occurrences.

TFTP Server

Upload Repository : TFTP Server

Repository URL:  35.155.171.121


HTTP Server

Upload Repository : HTTP Server

Repository URL: http://35.155.171.121/xconf/telemetry_upload.php


Create Targeting Rules

Xconf Server → Telemetry → Targeting Rules


JSON Response

The Xconf output can be verified with the below URL,

http://35.155.171.121:9092/loguploader/getSettings?estbMacAddress=<device-mac-address>&model=<model-name>

TFTP Server

HTTP Server


Configuring Telemetry on Turris Omnia

  • Once the board is up , go to /etc/dcm.properties and check for the below detail

DCM_LOG_SERVER_URL=http://35.155.171.121:9092/loguploader/getSettings
DCM_HTTP_SERVER_URL=http://35.155.171.121/xconf/telemetry_upload.php
DCM_LA_SERVER_URL=http://35.155.171.121/xconf/logupload.php

And in /etc/device.properties, ensure the model-name (provide a unique model name for the device) and the Tftp Server IP

MODEL_NAME=Turris

TFTP_SERVER_IP=35.155.171.121

  • After board boot up, disable log rotation by using the command: 

$ systemctl disable rdkbLogMonitor

Important Note:

Disabling log monitor is required because log rotation feature will wipe out logs when threshold reached, due to which telemetry feature can't able to identify the event count. Telemetry functionality  requires rdk logs.

Steps to be followed:

  1. Restart the dcm-log service using “systemctl restart dcm-log
  2. To check the status of the service “systemctl status dcm-log
  3. By triggering the service , Turris-Omnia starts uploading the logs and json file to the HTTP/TFTP server on the scheduled interval
  4. The log upload and Telemetry markers can be uploaded via HTTP and TFTP as required
  5. The profile can be verified using curl, conf file , through logs and in server.

Log Upload



  • No labels