MDT Subscription
Model Driven Telemetry (MDT) is a push-based streaming telemetry mechanism that provides real-time, structured data from network devices using YANG data models and protocols such as gRPC, enabling continuous monitoring and analytics. It supports both periodic data collection and event-driven notifications with configurable update policies, allowing network operators to receive precise operational data including interface statistics, routing table changes, and system health metrics. MDT subscriptions eliminate the need for polling-based monitoring by delivering high-frequency, low-latency data streams that can be consumed by network management systems, analytics platforms, and automated monitoring tools.
Diagram
Section titled “Diagram”Classes
Section titled “Classes”configuration (iosxe.devices)
Section titled “configuration (iosxe.devices)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
mdt_subscriptions | List | [mdt_subscriptions] | No |
mdt_subscriptions (iosxe.devices.configuration)
Section titled “mdt_subscriptions (iosxe.devices.configuration)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
id | Integer | min: 0 , max: 2147483647 | No | |
stream | String | No | ||
encoding | String | No | ||
source_vrf | String | No | ||
source_ip | IP | No | ||
update_policy_periodic | Integer | min: 0 , max: 4294967295 | No | |
update_policy_on_change | Boolean | true , false | No | |
filter_xpath | String | No | ||
receivers | List | [receivers] | No |
receivers (iosxe.devices.configuration.mdt_subscriptions)
Section titled “receivers (iosxe.devices.configuration.mdt_subscriptions)”Name | Type | Constraint | Mandatory | Default Value |
---|---|---|---|---|
ip | IP | Yes | ||
port | Integer | min: 0 , max: 65535 | Yes | |
protocol | String | Yes |
By providing real-time, push-based streaming telemetry, MDT subscriptions enable continuous monitoring and analytics without traditional polling.
MDT Subscription Parameters
Section titled “MDT Subscription Parameters”Key Components:
Subscription ID (
id
): Unique identifier for the telemetry subscription.Stream Type (
stream
): Specifies the telemetry stream type (e.g.,yang-push
,yang-notif-native
).Encoding (
encoding
): Sets the encoding format for telemetry data (e.g.,encode-kvgpb
,encode-json
).Source VRF (
source_vrf
): Specifies the source VRF for the telemetry stream.Source IP Address (
source_ip
): Sets the source IP address for the telemetry stream.Update Policy (
update_policy_on_change
,update_policy_periodic
): Configures the update policy (on-change or periodic interval).Filter XPath (
filter_xpath
): Applies an XPath filter for specific data points.Receivers (
receivers
): Defines receiver details (IP address, port, protocol).
Key Parameters Briefly Explained:
id
: Subscription identifier.stream
: Telemetry stream type.encoding
: Data encoding format.source_vrf
: Source VRF.source_ip
: Source IP address.update_policy_on_change
,update_policy_periodic
: Update policy settings.filter_xpath
: XPath filter for data selection.receivers
: Telemetry data receivers.
You can use these MDT Subscription parameters to configure real-time streaming telemetry from your network devices. Customize the subscription ID, stream type, encoding, data filters, and receiver details to fit your monitoring and analytics requirements. Adjusting these parameters lets you tailor the type and frequency of operational data streamed from the device.
Sample Configuration
Section titled “Sample Configuration”The following configuration describes how to set up MDT subscriptions on a Cisco IOS-XE device, including event-driven and periodic subscriptions, stream types, encoding, source information, XPath filters, and receiver details.
telemetry ietf subscription 202 stream yang-notif-native encoding encode-kvgpb source-vrf Mgmt-test source-address 1.2.9.10 update-policy on-change filter xpath /ios-events-ios-xe-oper:ospf-neighbor-state-change receiver ip 9.8.3.2 57600 protocol grpc-tcp!telemetry ietf subscription 203 stream yang-push encoding encode-json update-policy periodic 30000 filter xpath /interfaces-ios-xe-oper:interfaces/interface receiver ip 192.168.1.100 50051 protocol grpc-tcp
Example YAML Code
Section titled “Example YAML Code”The following YAML code defines MDT subscriptions on an IOS-XE device, including subscription IDs, stream types, encoding, source VRF/IP, update policies, XPath filters, and receiver details.
iosxe: devices: - name: Device1 configuration: mdt_subscriptions: - id: 202 stream: yang-notif-native encoding: encode-kvgpb source_vrf: Mgmt-test source_ip: 1.2.9.10 update_policy_on_change: true filter_xpath: /ios-events-ios-xe-oper:ospf-neighbor-state-change receivers: - ip: 9.8.3.2 port: 57600 protocol: grpc-tcp - id: 203 stream: yang-push encoding: encode-json update_policy_periodic: 30000 filter_xpath: /interfaces-ios-xe-oper:interfaces/interface receivers: - ip: 192.168.1.100 port: 50051 protocol: grpc-tcp