Streaming Telemetry Overview
Dial-Out vs Dial-In

Introduction to Streaming Telemetry

While a complete discussion around telemetry, formats and transports is outside the scope of this lab, this section provides some basic background information to ensure that you understand some basic formats, transports, tools and integrations.

Dial-Out Telemetry

Dial-Out telemtry or in most situations, gRPC Telemetry, is a feature that allows for the collection and transfer of real-time, streaming data from network devices to a centralized management system. This feature is built on top of the gRPC framework and makes use of gRPC's bi-directional streaming capabilities to allow for the efficient and reliable transfer of large amounts of data. The telemetry data collected can include metrics, such as network performance statistics, as well as configuration and operational state information. This data can be used to monitor the health and performance of the network, troubleshoot issues, and make real-time decisions about network configuration. Additionally, the data can be processed using machine learning algorithms to gain insights into network behavior and detect potential issues before they occur. gRPC is tightly coupled with GPB, or (Google Protocol Buffers or protobuf) is a language- and platform-neutral data serialization format developed by Google. It is used to efficiently encode structured data for a wide range of applications, including network protocols, data storage, and data exchange between different systems. GPB is a binary format, which makes it smaller and more efficient than other text-based formats like JSON or XML. GPB is designed to be extensible, allowing new fields to be added to a message without breaking existing code. GPB also provides a code generation tool that can generate data access classes in multiple programming languages, including C++, C#, Go, Java, Python, and many others. These classes provide a convenient and efficient way to encode and decode GPB data, and handle the underlying data fields. GPB is widely used in Google's internal systems and open-source projects, and it has become a popular choice for data serialization in many other systems and applications.

Sample Dial-Out Telemetry Configuration on NX-OS



feature openconfig
feature telemetry
telemetry
  destination-group telegraf
    host 192.168.1.199 port 50001 protocol gRPC encoding GPB
    use-vrf management
  sensor-group dme_bgp
    data-source DME
    path sys/bgp/inst depth unbounded query-condition query-target=subtree&target-subtree-class=bgpDom
    path sys/bgp/inst/dom-default/af-[l2vpn-evpn]
  sensor-group native_route_number
    data-source YANG
    path Cisco-NX-OS-device:System/urib-items/table4-items/Table4-list/routeCount
    path Cisco-NX-OS-device:System/u6rib-items/table6-items/Table6-list/routeCount
  sensor-group native_l3_vrf
    data-source YANG
    path Cisco-NX-OS-device:System/inst-items/Inst-list
  sensor-group dme_vlan
    path sys/bd depth 2
  sensor-group oc_system
    data-source YANG
    path openconfig-platform:system/cpus/cpu/state/total
    path openconfig-platform:system/processes/process/state
  sensor-group dme_alarm
    data-source DME
    path sys/alarms depth unbounded
  sensor-group oc_platform
    data-source YANG
    path openconfig-platform:components/component/power-supply/state
  sensor-group oc_system
    data-source YANG
    path openconfig-system:system/cpus/cpu/state/total/avg
    path openconfig-system:system/memory/state
  sensor-group oc_interface
    data-source YANG
    path openconfig-interfaces:interfaces/interface/state/counters
    path openconfig-interfaces:interfaces/interface[name=mgmt0]/subinterfaces/subinterface[index=0]/ipv4/addresses/address
  sensor-group native_mac_table
    data-source YANG
    path Cisco-NX-OS-device:System/mac-items/table-items/vlan-items/MacAddressEntry-list
  sensor-group dme_chassis
    data-source DME
    path sys/ch query-condition query-target=subtree&target-subtree-class=eqptSensor,eqptPsu alias dme_ch
  sensor-group dme_system_event
    data-source DME
    path sys
    path sys/showversion
  sensor-group dme_system_sample
    data-source DME
    path sys/procsys/syscpusummary/syscpuhistory-last60seconds
    path sys/procsys/sysmem/sysmemusage
  sensor-group dme_interface_event
    data-source DME
    path sys/intf depth unbounded query-condition query-target=subtree&target-subtree-class=ethpmPhysIf
  sensor-group native_int_counters
    data-source YANG
    path Cisco-NX-OS-device:System/intf-items/phys-items/PhysIf-list/dbgIfIn-items
    path Cisco-NX-OS-device:System/intf-items/phys-items/PhysIf-list/dbgIfOut-items
  subscription 1
    dst-grp telegraf
    snsr-grp dme_bgp sample-interval 300000
    snsr-grp native_route_number sample-interval 300000
    snsr-grp native_l3_vrf sample-interval 30000
    snsr-grp dme_vlan sample-interval 30000
    snsr-grp oc_system sample-interval 10000
    snsr-grp dme_alarm sample-interval 15000
    snsr-grp oc_platform sample-interval 10000
    snsr-grp oc_interface sample-interval 10000
    snsr-grp native_mac_table sample-interval 30000
    snsr-grp dme_chassis sample-interval 15000
    snsr-grp dme_system_event sample-interval 300000
    snsr-grp dme_system_sample sample-interval 10000
    snsr-grp dme_interface_event sample-interval 300000
    snsr-grp native_int_counters sample-interval 10000
  subscription 2
    dst-grp telegraf
    snsr-grp native_route_number sample-interval 0
    snsr-grp dme_bgp sample-interval 0
    snsr-grp native_l3_vrf sample-interval 0
    snsr-grp dme_vlan sample-interval 0
    snsr-grp dme_system_event sample-interval 0
    snsr-grp dme_interface_event sample-interval 0


Dial-In Telemetry

Dial in telemetry gNMI (gRPC Network Management Interface) is a network management protocol developed by Google. It is based on the gRPC framework and is designed to be used for retrieving and configuring network devices, such as routers and switches. gNMI provides a number of features that make it well-suited for use in large-scale, highly dynamic networks, including support for streaming telemetry, bi-directional streaming of configuration and operational state, and support for multiple data models. gNMI is also designed to be vendor-agnostic, meaning that it can be used with devices from different vendors, and it is extensible, allowing for the addition of new capabilities as needed.

gNMI Options Supported on NX-OS

Sample Dial-In Telemetry Configuration on NX-OS



feature grpc
feature openconfig


  • Introduction
  • Lab Environment and Topology
  • Streaming Telemetry Overview
  • Tools Overview
  • TIG Stack
  • Browse YANG Suite
  • Bonus Task!
  • Thanks