Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Antecedentes

Información sobre la telemetría basada en modelos

Funciones de telemetría

Descripción general de la suscripción

Identificadores de suscripción

Especificación del origen de datos

Configurar

Configuración de una suscripción dinámica periódica con YANG Suite

Pasos para obtener el filtro XPath

Pasos para crear una suscripción dinámica periódica NETCONF

Configuración de una suscripción dinámica On-Change con YANG Suite

Configuración de una suscripción periódica configurada con la suite YANG

Configuración de una suscripción configurada en función del cambio con YANG Suite

Verificación

Troubleshoot

Información Relacionada

Introducción

Este documento describe cómo configurar la telemetría basada en modelos en dispositivos Cisco IOS®-XE con el uso de YANG Suite para realizar ejemplos de llamadas de procedimiento remoto de telemetría (RPC).

Prerequisites

Requirements

Cisco recomienda que tenga conocimiento sobre estos temas:

- El conocimiento de YANG es necesario para comprender los datos que se requieren al utilizar la telemetría.

- Conocimiento de las operaciones de NETCONF, como get, get-config, edit-config.

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

- CSR1000V con Cisco IOS XE 17.3.3

- Cisco YANG Suite versión 2.8

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Productos Relacionados

Este documento también se puede utilizar con estas versiones de hardware y software: dispositivos Cisco IOS XE, incluidos switches Cisco Catalyst 9000, routers Cisco ASR 1000, ISR 4000 y CSR 1000.

Antecedentes

YANG Suite debe estar instalado. Para obtener más información sobre la instalación de YANG Suite, visite la documentación o el repositorio Github.

NETCONF-YANG debe configurarse y ejecutarse en el dispositivo, incluso si no se utiliza NETCONF. Para obtener más información sobre la configuración de NETCONF, visite la documentación.

En YANG Suite debe existir un perfil de dispositivo, un repositorio YANG y un conjunto de módulos YANG asociados al dispositivo de interés. Para obtener más información sobre cómo crear un perfil de dispositivo, un repositorio YANG y un conjunto de módulos YANG, visite la documentación de YANG Suite en Administración de perfiles de dispositivo.

Información sobre la telemetría basada en modelos

La telemetría es un proceso de comunicación automatizado mediante el cual las mediciones y otros datos se recopilan en puntos remotos o inaccesibles y se transmiten al equipo receptor para su supervisión. La telemetría basada en modelos proporciona un mecanismo para transmitir datos modelados por YANG a un recopilador de datos.

Las aplicaciones pueden suscribirse a elementos de datos específicos que necesitan con el uso de modelos de datos YANG basados en estándares a través de los protocolos NETCONF, RESTCONF o gRPC Network Management Interface (gNMI). Las suscripciones también se pueden crear con la línea de comandos (CLI).

Los datos estructurados se publican en una cadencia definida (periódicamente) o en un cambio, según los criterios de suscripción y el tipo de datos.

Funciones de telemetría

En los sistemas que utilizan la telemetría, participan diferentes funciones. En este documento se describen estas funciones de telemetría:

- Editor: Elemento de red que envía los datos de telemetría.

- Receptor: Recibe los datos de telemetría. Esto también se denomina colector.

- Controlador: Elemento de red que crea suscripciones pero no recibe los datos de telemetría. Los datos de telemetría asociados a las suscripciones, que crea, van a los receptores. Esto también se denomina agente de administración o entidad de administración.

- Suscriptor: Elemento de red que crea suscripciones. Técnicamente, aunque esto no tiene que ser el receptor también, en este documento, ambos son iguales.

Descripción general de la suscripción

Las suscripciones son elementos que crean asociaciones entre las funciones de telemetría y definen los datos que se envían entre ellas.

En los sistemas Cisco IOS XE se utilizan dos tipos de suscripciones: suscripciones dinámicas y configuradas.

Las suscripciones dinámicas las crean los clientes (el suscriptor) que se conectan al editor, se consideran de acceso telefónico. Las suscripciones configuradas hacen que el editor inicie las conexiones con los receptores y, como resultado, se consideran llamadas telefónicas.

Identificadores de suscripción

Las suscripciones se identifican mediante un valor entero positivo de 32 bits. El controlador establece los ID de las suscripciones configuradas y el editor establece los de las suscripciones dinámicas.

Especificación del origen de datos

Las fuentes de datos de telemetría de una suscripción se especifican mediante el uso de una secuencia y un filtro. El término flujo hace referencia a un conjunto relacionado de eventos. RFC 5277 define una secuencia de eventos como un conjunto de notificaciones de eventos que coinciden con algunos criterios de reenvío.

Cisco IOS XE admite dos secuencias: yang-push y yang-notif-native.

Normalmente, el conjunto de eventos de una secuencia se filtra. Se utilizan diferentes tipos de filtro para diferentes tipos de flujo.

Este documento utiliza yang-push como tipo de flujo y aprovecha los filtros XPath.

Configurar

Configuración de una suscripción dinámica periódica con YANG Suite

Los suscriptores que se conectan al editor crean suscripciones dinámicas y llaman a la creación de suscripciones utilizando un mecanismo dentro de esa conexión, normalmente un RPC. La duración de la suscripción se limita a la duración de la conexión entre el suscriptor y el editor, y los datos de telemetría se envían solamente a ese suscriptor. Estas suscripciones no persisten si se reinicia el editor o el suscriptor. Puede crear suscripciones dinámicas utilizando el <establecer-suscripción> RPC en banda. El <establecer-suscripción> RPC se envía desde un suscriptor de telemetría IETF al dispositivo de red. Los campos stream, xpath-filter y period del RPC son obligatorios.

Cuando se envía un RPC, la respuesta RPC de un editor contiene un mensaje con un elemento que contiene una cadena de resultado.

Esta tabla muestra la respuesta y el motivo de la respuesta en un mensaje de <rpc-reply>:

Puede enviar un RPC desde la suite YANG para configurar una suscripción periódica.

Pasos para obtener el filtro XPath

Para obtener el filtro XPath, puede aprovechar YANG Suite una vez que haya definido los datos que necesita transmitir. En este ejemplo, la información de estadísticas de memoria son los datos que se van a transmitir.

Paso 1. En YANG Suit en Protocols > NETCONF, seleccione el conjunto YANG asociado al dispositivo en uso. En este ejemplo, el conjunto YANG se denomina CSR1000V.

Paso 2. Cargue el módulo YANG que contiene los datos de interés. En este ejemplo es Cisco-IOS-XE-memory-oper.

Paso 3. En el árbol YANG, busque el nodo para el que desea obtener el filtro XPath; en este ejemplo, es memory-statistics, haga clic con el botón derecho en él y seleccione Properties .

Paso 4. En la ventana emergente que aparece hay 2 propiedades que definen conjuntamente el filtro XPath. Esos valores son Xpath y Prefix.

Pasos para crear una suscripción dinámica periódica NETCONF

Para crear una suscripción dinámica periódica de NETCONF, debe utilizar el módulo IETF-event-notification YANG.

Paso 1. En YANG Suit en Protocols > NETCONF, seleccione el conjunto YANG asociado al dispositivo en uso. En este ejemplo, el conjunto YANG se denomina CSR1000V.

Paso 2. Cargue el módulo YANG IETF-event-notification.

Paso 3. La operación NETCONF debe ser Otro RPC.

Paso 4. En el menú desplegable Dispositivo, seleccione el dispositivo de interés y, a continuación, haga clic en Abrir la ventana del dispositivo en una ventana nueva o en una nueva pestaña.

Paso 5. En la ventana separada que se abre, haga clic en Iniciar sesión para establecer una sesión NETCONF activa con el dispositivo. Este es un ejemplo de una ventana de sesión NETCONF establecida.

Paso 6. Vuelva a la ventana anterior. En los nodos bajo el árbol ietf-event-notification, expanda el nodo establecer-suscripción y elija la entrada.

Paso 7. Debe definir los valores de flujo, filtro y disparador de actualización.

secuencia: yang-push.

filtro: xpath-filter

El filtro XPath debe tener este formato:

/prefix:xpath

En este ejemplo, con el uso de los parámetros obtenidos en la sección Pasos para obtener el filtro XPath.

/memory-ios-xe-oper:memory-statistics/memory-statistics

Consejo: Preste atención a la posición de "/" en el filtro XPath

Paso 8. El disparador de actualización es un valor en centísegundos (1/100 de segundo). Un período de 1000 permite obtener actualizaciones cada 10 segundos.

Paso 9. Una vez que se hayan proporcionado los valores de secuencia, filtro y disparador de actualización, haga clic en Generar RPC y aparecerá un RPC como el que se muestra en esta imagen.

Paso 10. Ahora puede hacer clic en Ejecutar RPC y crear una suscripción de acceso telefónico NETCONF periódica.

Paso 11. Los mensajes RPC aparecen ahora en la ventana donde se estableció la sesión NETCONF.

Esta imagen es un ejemplo del RPC enviado y de la respuesta RPC recibida con un mensaje OK, lo que significa que la suscripción se ha realizado correctamente.

Esta imagen es un ejemplo de los datos de estadísticas de memoria que se reciben cada 10 segundos.

Configuración de una suscripción dinámica On-Change con YANG Suite

Todos los pasos indicados en la sección Configure a Periodic Subscription with YANG Suite (Configurar una suscripción periódica con YANG Suite) se aplican a esta sección, la única diferencia es en el valor update-trigger donde debe definir un período de dampening con un valor de 0, no es posible ningún otro valor.

Este es un ejemplo de un RPC para establecer una suscripción on-change para los datos de vecinos CDP.

Configuración de una suscripción periódica configurada con la suite YANG

Las suscripciones configuradas son creadas por las operaciones de administración en el editor por los controladores e incluyen explícitamente la especificación del receptor de los datos de telemetría definidos por una suscripción. Estas suscripciones persisten entre los reinicios del editor a medida que forman parte de la configuración del dispositivo.

Las suscripciones de marcado de salida configuradas se configuran en el dispositivo con cualquiera de estos métodos:

- Uso de CLI de configuración para cambiar a la configuración del dispositivo a través de la consola/VTY.

- Uso de NETCONF/RESTCONF para configurar la suscripción deseada.

Este documento no explica cómo configurar una suscripción de marcado de salida con la CLI, sino que muestra cómo enviar un mensaje NETCONF RPC desde la suite YANG para configurar una suscripción de marcado de salida.

Para las suscripciones configuradas, el protocolo gRPC está disponible y sólo se puede utilizar con la secuencia yang-push. El protocolo de transporte gRPC sólo admite codificación de búferes de protocolo de Google de valor clave (kvGPB).

Puede utilizar YANG Suite como receptor para probar las suscripciones de marcado de salida de ejemplo.

Para crear una suscripción configurada periódica, necesita utilizar el módulo Cisco-IOS-XE-mdt-cfg YANG.

Paso 1. En YANG Suite, en Protocols > gRPC Telemetry, ingrese la dirección IP y el puerto, y luego haga clic en Start telemetry receptor for YANG Suite para comenzar a escuchar en la dirección IP y el puerto indicados.

Nota: Si la opción gRPC Telemetry no está disponible, el complemento se puede instalar a través de la página Admin > Manage plugins en YANG Suite

Paso 2. En Protocols > NETCONF, seleccione el conjunto YANG asociado al dispositivo en uso. En este ejemplo, el conjunto YANG se denomina CSR1000V.

Paso 3. Cargue el módulo Cisco-IOS-XE-mdt-cfg YANG.

Paso 4. La operación NETCONF debe ser edit-config.

Paso 5. Elija el dispositivo de interés.

Paso 6. En el árbol Cisco-IOS-XE-mdt-cfg, estos valores deben definirse en el nodo mdt-Subscription: Subscription-id, stream, encoding, period y xpath-filter. Y también la información sobre el receptor: Dirección IP, puerto y protocolo.

Paso 7. Estos valores se utilizan para este ejemplo:

ID de suscripción: 100

secuencia: yang-push

codificación: encode-kvgpb

periodo: 1000

filtro xpath: /memory-ios-xe-oper:memory-statistics/memory-statistics

La información sobre el receptor debe definirse

dirección: <Dirección IP>

puerto: <port>

protocolo: grpc-tcp

Paso 8. Haga clic en el botón Generar RPC.

Paso 9. Haga clic en Ejecutar RPC.

Paso 10. Si se realiza correctamente, se recibe información en Protocolos > Telemetría gRPC.

Configuración de una suscripción configurada en función del cambio con YANG Suite

Para configurar una suscripción de marcación de salida On-Change se sigue el mismo proceso descrito en la sección Configurar una suscripción configurada periódica con la suite YANG, el único valor que cambia es la hoja no-sync-on-start que se debe establecer en false.

Esta imagen es un ejemplo de RPC para una suscripción configurada en el cambio.

Verificación

Utilize esta sección para confirmar que su configuración funcione correctamente.

Muestra información sobre las suscripciones de telemetría en un Cisco IOS XE con show telemetry ietf Subscription all.

Device# show telemetry ietf subscription all

Telemetry subscription brief

ID               Type        State       Filter type

--------------------------------------------------------

100              Configured  Valid       xpath

2147483651       Dynamic     Valid       xpath

Muestra detalles sobre una suscripción con show telemetry ietf <subscriptionID> detail.

Device#show telemetry ietf 100 detail

Telemetry subscription detail:

Subscription ID: 2147483651

Type: Dynamic

State: Valid

Stream: yang-push

Filter:

Filter type: xpath

XPath: /memory-ios-xe-oper:memory-statistics/memory-statistic

Update policy:

Update Trigger: periodic

Period: 10000

Encoding: encode-xml

Source VRF:

Source Address:

Notes:

Receivers:

Address                                    Port     Protocol         Protocol Profile

-----------------------------------------------------------------------------------------

10.88.246.10                                 57344    netconf

Verifique el estado de la conexión con el receptor con show telemetry internal connection.

Device# show telemetry internal connection

Telemetry connection

Peer Address    Port  VRF Source Address  Transport  State         Profile

--------------- ----- --- --------------- ---------- ------------- -------------

10.88.246.10   57344   0 10.88.246.2    grpc-tcp   Active

Troubleshoot

En esta sección se brinda información que puede utilizar para resolver problemas en su configuración.

Escenario 1. Si el estado de la suscripción de telemetría es válido y no recibe secuencias en el receptor.

Verifique el estado de la conexión con el receptor.

Device#show telemetry internal connection

Telemetry connection

Peer Address    Port  VRF Source Address  Transport  State         Profile

--------------- ----- --- --------------- ---------- ------------- -------------

10.88.246.10    57350   0 10.88.247.86    grpc-tcp   Connecting

Si el estado es Conexión, asegúrese de la conectividad correcta entre el editor y el receptor.

Device# ping

Asegúrese de que el puerto en uso esté abierto.

Device# telnet

Trying 10.88.246.10, 57350 ... % Connection refused by remote host

En este ejemplo, el puerto no está abierto/no se puede alcanzar. Verifique que no haya un firewall que pueda bloquear el puerto y asegúrese de que el puerto especificado sea el correcto.

En los dispositivos que utilizan VRF, debe especificar la dirección de origen/VRF de origen en el RPC para las suscripciones configuradas. Esta imagen muestra un RPC donde se especifica el VRF de origen.

Situación hipotética 2. Si el estado de la suscripción de telemetría no es válido.

Device# show telemetry ietf subscription all

Telemetry subscription brief

ID               Type        State       Filter type

--------------------------------------------------------

200              Configured  Invalid     xpath

Verifique los detalles de la suscripción.

Device# show telemetry ietf subscription 200 detail

Telemetry subscription detail:

Subscription ID: 200

Type: Configured

State: Invalid

Stream: yang-push

Filter:

Filter type: xpath

XPath: /memory-ios-xe-oper:/memory-statistics/memory-statistic

Update policy:

Update Trigger: periodic

Period: 1000

Encoding: encode-kvgpb

Source VRF:

Source Address:

Notes: XPath parse error 'Invalid expression: offset(21)' 58.

Receivers:

Address                                    Port     Protocol         Protocol Profile

-----------------------------------------------------------------------------------------

10.88.247.89                               57344    grpc-tcp

Observe la sintaxis del filtro XPath, tiene un "/" extra después de ":", el filtro XPath correcto es:

/memory-ios-xe-oper:memory-statistics/memory-statistics

Cualquier error de sintaxis, como la falta de letras o caracteres adicionales en el filtro XPath, puede dar lugar a una suscripción no válida.

Si necesita soporte para la herramienta YANG Suite, comuníquese con el correo de soporte o el foro de soporte.

Información Relacionada

- Guía de configuración de programación, telemetría basada en modelos, Cisco IOS XE Amsterdam 17.3.x

- Soporte Técnico y Documentación - Cisco Systems