Hands-On Lab: Configuring Model-Driven Telemetry

This hands-on lab configures a router to stream interface statistics continuously to a collector using model-driven telemetry, contrasting this push-based approach against the pull-based polling every prior monitoring method in this series relied upon.

Model-Driven TelemetryDial-Out SubscriptionPush-Based Streaming

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۴ مهر ۱۴۰۵

Lab Objective

Configure a dial-out telemetry subscription on a router streaming interface statistics to a collector at a regular interval, verify data arrives continuously without the collector needing to request it, and compare this push-based model against the pull-based polling used by SNMP in an earlier lab.

Lab Purpose

SNMP, covered earlier in this series, requires a management station to actively poll a device for updated statistics, meaning data is only ever as fresh as the last poll interval and every poll consumes device CPU cycles to respond. Model-driven telemetry inverts this relationship entirely: the device itself proactively pushes data to a collector on a schedule, without the collector needing to request anything.

Lab Topology

R1 ---- Gi0/0: 192.168.255.1/24

Telemetry collector: 192.168.255.200,
listening on TCP port 25000

Task 1: Define a Telemetry Subscription

Create a telemetry subscription specifying the YANG path for interface statistics to stream.

Task 2: Configure the Destination Collector

Point the subscription at the collector's address and port using the dial-out model.

Task 3: Set the Streaming Interval

Configure how frequently updates are pushed to the collector.

Task 4: Verify the Subscription Is Active

Confirm the router shows the subscription as established and actively streaming.

Task 5: Verify Data Arrives at the Collector Without Polling

Confirm the collector receives a continuous stream of updates without ever sending a request of its own.

Solution and Verification

R1(config)# telemetry ietf subscription 100
R1(config-mdt-subs)# encoding encode-kvgpb
R1(config-mdt-subs)# filter xpath /interfaces-state/interface/statistics
R1(config-mdt-subs)# source-address 192.168.255.1
R1(config-mdt-subs)# stream yang-push
R1(config-mdt-subs)# update-policy periodic 3000

-- "periodic 3000" pushes updates every
-- 3000 centiseconds (30 seconds) --
-- entirely initiated by the router itself
-- on this schedule, unlike SNMP where the
-- manager decides when to ask

R1(config-mdt-subs)# receiver ip address 192.168.255.200 25000 protocol grpc-tcp

-- Dial-out means R1 initiates the
-- connection TO the collector, rather than
-- the collector connecting to R1 as an
-- SNMP manager would

R1# show telemetry ietf subscription 100 detail

Subscription ID: 100
Type: Configured
State: Valid
Stream: yang-push
Filter: /interfaces-state/interface/statistics
Update policy: Periodic (3000 centiseconds)
Receiver: 192.168.255.200:25000, State: Connected
-- "Connected" confirms R1 has established
-- the outbound session to the collector
-- and is actively pushing data

-- On the collector (conceptual verification):

[10:00:00] Received update: Gi0/0 stats,
           in-octets: 184532102
[10:00:30] Received update: Gi0/0 stats,
           in-octets: 184601288
[10:01:00] Received update: Gi0/0 stats,
           in-octets: 184670445
-- New data arrives every 30 seconds without
-- the collector ever sending a request --
-- a continuous, unsolicited stream, unlike
-- SNMP's request-then-respond pattern

Key Takeaway

The dial-out push model shifts responsibility for initiating data flow entirely to the device — R1 decides when to send updates based on its own configured schedule, freeing the collector from managing polling intervals across potentially thousands of devices and reducing the latency between an actual state change and when a collector learns about it, since streamed telemetry can update far more frequently than a typical SNMP polling interval would tolerate without overwhelming the network.

نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

Hands-On Lab: Final Comprehensive CCNP Troubleshooting Challenge (BGP, DMVPN, and QoS Integration)

This hands-on lab presents a complex multi-layer failure across an integrated BGP-over-DMVPN topology combined with QoS marking, requiring systematic diagnosis of a route reflector misconfiguration, an NHRP registration failure, and an incorrectly applied QoS policy simultaneously affecting the same network.

ادامه

Hands-On Lab: Configuring BGP over DMVPN

This hands-on lab runs iBGP as the routing protocol across the same DMVPN hub-and-spoke topology used in the two previous labs, configuring the hub as a route reflector so spokes learn each other's routes without a full iBGP mesh, combining two previously separate concepts into one integrated design.

ادامه

Hands-On Lab: Configuring OSPF over DMVPN

This hands-on lab runs OSPF as the dynamic routing protocol across the same DMVPN hub-and-spoke topology, configuring the tunnel interface as an OSPF point-to-multipoint network type to correctly handle the hub-and-spoke adjacency pattern without requiring the broadcast network type's DR/BDR election.

ادامه

Hands-On Lab: Configuring EIGRP over DMVPN

This hands-on lab runs EIGRP as the dynamic routing protocol across the DMVPN hub-and-spoke topology built in earlier labs, verifying neighbor relationships form correctly across the multipoint tunnel and routes propagate without requiring per-spoke static configuration on the hub.

ادامه

Hands-On Lab: Configuring HSRP MD5 Authentication

This hands-on lab configures MD5 authentication on an HSRP group, verifying two routers with matching authentication strings form a normal active/standby relationship while a router with a mismatched string is excluded from the group entirely.

ادامه

Hands-On Lab: Configuring Cisco Umbrella-Style DNS Security via DNS Forwarding Redirection

This hands-on lab configures a router to redirect all client DNS queries toward a security-focused DNS resolver using DNS forwarding interception, approximating cloud-delivered DNS security enforcement without requiring per-client configuration changes.

ادامه