This practitioner blog will show you how to consume telemetry data from your network devices in five easy steps.
Telemetry is a monitoring technology used to do high-speed data collection from network devices. According to EMA research on network performance management, “71% of enterprises are interested in collecting streaming network telemetry with their network management tools.”
This next-generation approach to monitoring has been expected to replace SNMP for years. However, SNMP is a common and open standard that remains widely adopted, simple to use, and highly relevant for most teams today.
Telemetry offers several advantages over SNMP:
- Scalability. Telemetry can send data at a higher rate and with lower resource impact.
- Reliability. Unlike telemetry, SNMP is subject to packet drops.
- Security. Telemetry offers higher security, specifically compared to versions one and two of SNMP.
In the following sections, we detail how you can collect and visualize network telemetry in DX NetOps.
1. Understand the data collection process
The image below shows how the data collection process works.
The process relies on these two key elements:
- gNMI collector. The gNMI collector interacts with the remote network device via gNMI. (gNMI, which stands for “gRPC Network Management Interface,” is a protocol used to manage network devices.)
- DX NetOps Data Collector. This is the module responsible for collecting network inventory, event, and performance data.
The gNMI collector will initiate a connection to the network device using our gNMI Manager module and create a gNMI subscription (dial-in). Moving forward, the network device will stream or “push” data to the gNMI collector based on the defined subscription details. The gNMI collector will parse the data and make it available to DX NetOps Data Collectors via Kafka.
As a first step, make sure that your target network devices support the gNMI protocol. The DX NetOps collector supports dial-in telemetry, the OpenConfig data model, and a growing list of vendors, including SONiC OS and Cisco NX-OS series. Also, ensure that the gNMI collector has access to the devices on the gNMI ports that you have configured in your environment.
2. Configure target devices for gNMI streaming
Network devices can deliver telemetry data using different transport protocols: TCP or gRPC over HTTP/2 . In addition, sessions can be initiated in a “dial-out” (router initiates the session) or “dial-in” (collector initiates the session) fashion. (Additional information on gNMI can be found here.) As of today, DX NetOps only supports gRPC with “dial-in” telemetry.
There are several options available when configuring network devices to stream telemetry data to a network monitoring system, so we encourage you to work closely with your network administrators on this task. (An example of how to configure gNMI in a Cisco NX-OS environment can be found here.)
In a nutshell, you will need to enable and configure gRPC in your network equipment and, if you want to leverage TLS, configure a Trust Point CA to secure gRPC communications.
3. Deploy and configure gNMI manager
The gNMI Manager is the key component to interface with gNMI-enabled network equipment. It can run alongside the DX NetOps Data Collector or on a separate system and it requires the availability of a Kafka broker. DX NetOps Performance Management includes NetOps Kafka. You can get all the binaries from Broadcom support.
As a third step, you will need to deploy gNMI Manager in a server with connectivity to the gNMI-enabled network equipment and the DX NetOps Data Collector. Then, perform a simple configuration that involves two files:
Mapping.properties. This directs mapping between a target gNMI device and a “mapping profile.” Here is some sample content:
Profile.properties. This has connection details used to subscribe to remote devices. This will include port, TLS directory, encoding, and subscription model type.
Detailed information about how to configure these files can be found in the product documentation.
The gNMI Manager comes with a set of useful tools to validate gNMI capabilities of remote devices. Once configuration is completed, you can run the “gnmi_capabilities.sh” tool to validate the installation and get a list of supported models for a network device.
To complete this third step, you should make DX NetOps aware of the gNMI Manager. This binding is done via an API call to the Data Aggregator, using the “telemetrygateways” endpoint. You will need to specify the tenantId, the hostname in which Kafka is running, and IP domain.
4. Define metrics you want to stream from gNMI devices
The next step is to define a Monitoring Profile in the NetOps Portal, selecting which gNMI metric families are going to be monitored.
Then, you can associate this profile to a Device Collection. By doing so, the gNMI Manager subscribes to all devices in the collection for streaming telemetry.
Monitoring profiles use the SNMP Poll Rate as the subscription period. The image below shows the Monitoring Profile definition for gNMI.
Here are some of the metrics that can be retrieved from gNMI-enabled devices:
- GNMI Interface
- GNMI CPU
- GNMI QoS Input Priority
- GNMI QoS Output Queue
- GNMI System Info
In summary, we have configured our targets, set the gNMI collector, bound it to DX NetOps, and specified which metrics we want to stream from gNMI devices.
Next, let’s take a look at how to discover and consume this streaming data.
5. Discover and validate gNMI data
The last step is to discover gNMI-enabled devices using a discovery profile in the DX NetOps portal. The discovery process will detect if target IPs support gNMI and try to discover the metric families defined in the previous step.
Once the data collection process is complete, we can visualize the streaming telemetry data in Views and Dashboards.
The image below offers a comparison of polling the same metric (CPU Utilization) via SNMP (right side) and streaming telemetry (left side).
You can quickly appreciate how much more granular the telemetry data is. Telemetry enables you to detect microbursts or spikes that would not show up using a standard SNMP polling frequency.
We hope you’ve found this post helpful in understanding the key advantages of telemetry over SNMP and how you can consume streaming telemetry data from your gNMI-enabled devices.
Through Broadcom’s investments, DX NetOps delivers capabilities for streaming network telemetry, helping customers to support modern networks, speed innovation, and establish adaptable network observability, now and in the future.