Telemetry and analytics are all the rage in networking today. The industry is abuzz with the potential unlocked by streaming vast quantities of operational data. But what’s so special about “model-driven” telemetry?
Models enable networking devices to precisely describe their capabilities to the outside world: what kind of data they expose (e.g. interfaces statistics, configuration options, etc), the data type (string, integer, etc), any restrictions on the data (optional or required, etc), and even what kind of operations are supported on the data. The data model is like a contract, an agreement to obey instructions that conform to the model and return data according to the rules of the model. This kind of contract is pure gold when it comes to writing applications. You can explore data models offline using standard tools, automatically generate libraries and code, and write applications that will interact with the router in a predictable way.
Model-driven telemetry (MDT) leverages models in two ways. First, MDT is fully configurable using telemetry YANG models. You can precisely specify what data to stream, to where, and with what encoding and transport using just the models, no CLI required. If you’re ready to dig into the details, check out our step-by-step xrdocs tutorials on configuring MDT with the OpenConfig YANG telemetry model, the IOS XR native telemetry model, and even YDK.
The second way that MDT leverages YANG data models is in the specification of the data to be streamed. The router measures a staggering number of parameters all the time – how do you tell it which subset you want? With CLI, you memorized show commands. With SNMP, you requested a MIB (To learn more about how telemetry improves on SNMP, check out this blog and watch this video). With MDT, you specify the YANG model that contains the data you want. Practically speaking, that means retrieving the supported models from the router real-time using a NETCONF <get-schema> operation or fetching them from github and exploring them offline using tools like pyang. All published YANG operational models can be configured for streaming, but here’s a sampling of commonly used (and extensively tested) ones:
So, in summary, MDT is special because it inherits the power of models, making it easier to define, consume and subscribe to the data you want. The goal of telemetry is to get as much data off the box as fast as possible. By modeling that data with YANG, MDT ensures that those vast quantities of data are truly usable.
If you want to learn more about MDT, attend our Cisco Knowledge Network webinar on September, 6th. Register today!