Example: Configure Event-driven Telemetry for LLDP
Telemetry supports NETCONF event notifications where the NETCONF client is configured to receive event notifications from
a NETCONF server through a subscription. The NETCONF client must subscribe using a create-subscription
request. Currently, only the events from Link Layer Discovery Protocol (LLDP) is supported. These event notifications are
sent until either the NETCONF session or the subscription is terminated.
Note |
Configuring a sensor group and a subscription is not required for receiving NETCONF notifications. While sensor path and subscription
configurations are required for receiving telemetry events, NETCONF |
-
Enable NETCONF agent and SSH sub system. ssh server netconf netconf-yang agent ssh
-
Enable model-driven telemetry. telemetry model-driven
-
Enable LLDP. lldp
This example shows event-driven telemetry fo LLDP configuration data.
- Create a destination group.
grpc port 56782 address-family ipv4 ! telemetry model-driven destination-group <destination-udp> address-family ipv4 <client-ip>1 port <udp port num> encoding self-describing-gpb protocol udp ! ! destination-group <destination-tcp> address-family ipv4 <client-ip> port <tcp port num> encoding gpb protocol tcp ! destination-group <destination-grpc> address-family ipv4 <grpc client ip>port <grpc port num> encoding self-describing-gpb protocol grpc no-tls
- Create a sensor group.
sensor-group <sensor-group-name> sensor-path Cisco-IOS-XR-ethernet-lldp-oper:lldp/global-lldp/lldp-info sensor-path Cisco-IOS-XR-ethernet-lldp-oper:lldp/nodes/node/interfaces/interface sensor-path Cisco-IOS-XR-ethernet-lldp-oper:lldp/nodes/node/neighbors/details/detail !
- Create a subscription.
subscription udp-out sensor-group-id <sensor-group-name> sample-interval 0 destination-id <destination-udp> ! subscription <subscription-name> sensor-group-id <sensor-group-name> sample-interval 0 destination-id <destination-tcp> subscription <subscription-name> sensor-group-id <sensor-group-name> sample-interval 0 ! netconf-yang agent ssh !
- Set the notification to stream data when an event occurs.
Router(config-lldp)#timer 12 Router(config-lldp)#commit Router(config-lldp)#holdtime 150 Router (config-lldp)#commit Router (config-lldp)#exit #506 <?xml version="1.0"?> <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"> <eventTime>Date-and-Time</eventTime> <lldp xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-lldp-oper"> <global-lldp> <lldp-info> <chassis-id>000b.1bc9.e700</chassis-id> <chassis-id-sub-type>4</chassis-id-sub-type> <system-name>ios</system-name> <timer>12</timer> <hold-time>120</hold-time> <re-init>2</re-init> </lldp-info> </global-lldp> </lldp> </notification> Ready to send a request. Paste your request or enter 'get', 'get-config', 'create-sub', or 'bye' to quit):
- Validate response received from NETCONF agent.
#506 <?xml version="1.0"?> <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"> <eventTime>Date-and-Time</eventTime> <lldp xmlns="http://cisco.com/ns/yang/Cisco-IOS-XR-ethernet-lldp-oper"> <global-lldp> <lldp-info> <chassis-id>000b.1bc9.e700</chassis-id> <chassis-id-sub-type>4</chassis-id-sub-type> <system-name>ios</system-name> <timer>12</timer> <hold-time>150</hold-time> <re-init>2</re-init> </lldp-info> </global-lldp> </lldp> </notification>