El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
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).
Cisco recomienda que tenga conocimiento sobre estos temas:
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
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.
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.
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.
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.
En los sistemas que utilizan la telemetría, participan diferentes funciones. En este documento se describen estas funciones de telemetría:
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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
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.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
30-Sep-2021 |
Versión inicial |