Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Junos Telemetry Interface User Guide
Table of Contents Expand all
list Table of Contents
file_download PDF
{ "lLangCode": "en", "lName": "English", "lCountryCode": "us", "transcode": "en_US" }
English
keyboard_arrow_right

Decoding Junos Telemetry Interface UDP Data at the Collector

date_range 06-Dec-24

The collector must start a listener on the remote address or port combination to read the incoming data. The incoming data can be decoded using the telemetry_top.proto and the sensor proto files.

To simplify the decoding procedure, the collectors can load all the proto files shipped as part of the Telemetry Software package to decode the incoming data.

You can use UNIX utilities to decode Junos telemetry interface data on a server, or collector see, Decoding Junos Telemetry Interface Data With UNIX Utilities

Note:
  1. Verify streaming data on both management and WAN interfaces. Specify the appropriate address in the streaming server profile.
  2. Enums and float are streamed as strings for UDP streaming. Enums will be retained as strings as gNMI uses the same format.
  3. The handling of float data type is scoped for a future release.

When telemetry data is streamed over UDP, ensure that data is decoded correctly, and unknown fields are not decoded at the collector.

Below are some issues observed while streaming telemetry data over UDP:

  1. Incorrect Decoding: Incorrect decoding implies that telemetry data is not correctly streamed over UDP. In the following example, the data highlighted in bold indicates that the data was not decoded correctly. This behaviour is either due to incorrect encoding or wrong proto file packaging.
    content_copy zoom_out_map
    system_id: "r02.dtw01.icn" 
    component_id: 65535 
    sensor_name: "mpls:/network-instances/network-instance/mpls:/network-instances/network-instance/mpls:rpd" 
    sequence_number: 2421 timestamp: 1715024560793 
    version_major: 1 version_minor: 0 enterprise: { [juniperNetworks]: 
    {   [jnpr_network_instances_rsvp_ext]: { 
       network_instance: { name: "master" mpls: { 153 { 151 
    {         152{     151{     51: "r02.dtw01.icn-r01.bos02.icn-01" 
            152{     151{   51: "AUTO" 
             52: 0 
             53: 12873154 
            }     152{ 
             151{ 
             51:1 
             52:200000 
             53: 0
             54: 300 
             55: 1
    
             61: 1549061 
            }          152 {

    Below is the example of the data being decoded correctly:

    content_copy zoom_out_map
    system_id: "r0-RE0" 
    component_id: 65535 
    sub_component_id: 0 
    sensor_name: "test_chassisd:/network-instances/:/network-instances/:rpd" 
    sequence_number: 0 
    timestamp: 1719126223900 
    version_major: 1 
    version_minor: 0 
    enterprise { 
      [juniperNetworks] { 
        [jnpr_network_instances_ni_226_ext] { 
          network_instance { 
            name: "DEFAULT" 
            protocols { 
              protocol { 
              identifier: "STATIC" 
              name: "DEFAULT" 
              static_routes {     
                static {   
                prefix: "10.0.0.0/8" 
                state { 
                  prefix: "10.0.0.0/8" 
                  set_tag: "0" 
                } 
                next_hops { 
                  next_hop { 
                    index: "1"   
                    state { 
                      index: "1"   
                      next_hop: "10.220.127.254" 
                      metric: 0 
                      recurse: false 
                    } 
                    interface_ref { 
                      state { 
                        interface: "re0:mgmt-0" 
                        subinterface: 0 
                      }
                     } 
                    } 
                   } 
                  }
    
  2. Incomplete data streaming: Streaming of incomplete data must be verified through data validation in the output file.
footer-navigation