Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Informations générales

Informations sur la télémétrie pilotée par un modèle

Rôles de télémétrie

Présentation de l'abonnement

Identificateurs d'abonnement

Spécification de la source de données

Configuration

Configurer un abonnement dynamique périodique avec la suite YANG

Étapes d'obtention du filtre XPath

Étapes de création d'un abonnement dynamique NETCONF périodique

Configurer un abonnement dynamique en cours de modification avec la suite YANG

Configurer un abonnement configuré périodiquement avec la suite YANG

Configurer un abonnement configuré lors de la modification avec la suite YANG

Vérification

Dépannage

Informations connexes

Introduction

Ce document décrit comment configurer la télémétrie pilotée par modèle sur les périphériques Cisco IOS®-XE avec l'utilisation de la suite YANG pour exécuter des appels de procédure distante de télémétrie (RPC).

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Il faut connaître YANG pour comprendre les données requises lors de l'utilisation de la télémétrie.

- Connaissance des opérations NETCONF, telles que get, get-config, edit-config.

Components Used

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

- CSR1000V avec Cisco IOS XE 17.3.3

- Cisco YANG Suite version 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 votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Produits connexes

Ce document peut également être utilisé avec les versions matérielles et logicielles suivantes : périphériques Cisco IOS XE, y compris les commutateurs Cisco Catalyst 9000, routeurs Cisco ASR 1000, ISR 4000 et CSR 1000.

Informations générales

YANG Suite doit être installé. Pour plus d'informations sur l'installation de YANG Suite, consultez la documentation ou le référentiel Github.

NETCONF-YANG doit être configuré et exécuté sur le périphérique, même si NETCONF n'est pas utilisé. Pour plus d'informations sur la configuration de NETCONF, consultez la documentation.

Un profil de périphérique, un référentiel YANG et un ensemble de modules YANG associés au périphérique d'intérêt doivent exister dans la suite YANG. Pour plus d'informations sur la création d'un profil de périphérique, d'un référentiel YANG et d'un ensemble de modules YANG, consultez la documentation de la suite YANG sous Gestion des profils de périphérique.

Informations sur la télémétrie pilotée par un modèle

La télémétrie est un processus de communication automatisé par lequel les mesures et autres données sont collectées à des points distants ou inaccessibles et transmises à l'équipement récepteur pour surveillance. La télémétrie pilotée par modèle fournit un mécanisme permettant de transmettre des données modélisées YANG à un collecteur de données.

Les applications peuvent s'abonner à des éléments de données spécifiques dont elles ont besoin grâce à l'utilisation de modèles de données YANG normalisés sur des protocoles NETCONF, RESTCONF ou gRPC Network Management Interface (gNMI). Les abonnements peuvent également être créés avec la ligne de commande (CLI).

Les données structurées sont publiées à une cadence définie (périodiquement) ou en cours de modification, en fonction des critères d'abonnement et du type de données.

Rôles de télémétrie

Dans les systèmes qui utilisent la télémétrie, différents rôles sont impliqués. Dans ce document, ces rôles de télémétrie sont décrits :

- Éditeur : Élément réseau qui envoie les données de télémétrie.

- Récepteur : Reçoit les données de télémétrie. C'est aussi ce qu'on appelle le collecteur.

- Contrôleur : Élément réseau qui crée des abonnements mais ne reçoit pas les données de télémétrie. Les données de télémétrie associées aux abonnements, qu'il crée, vont aux récepteurs. Il s'agit également de l'agent de gestion ou de l'entité de gestion.

- Abonné : Élément réseau qui crée des abonnements. Techniquement, bien que ce ne soit pas nécessairement le destinataire également, dans ce document, les deux sont identiques.

Présentation de l'abonnement

Les abonnements sont des éléments qui créent des associations entre les rôles de télémétrie et définissent les données qui sont envoyées entre eux.

Deux types d'abonnements sont utilisés dans la télémétrie sur les systèmes Cisco IOS XE : abonnements dynamiques et configurés.

Les abonnements dynamiques sont créés par les clients (l'abonné) qui se connectent à l'éditeur, ils sont considérés comme des appels entrants. Les abonnements configurés font que l'éditeur établit des connexions avec les récepteurs et, par conséquent, ils sont considérés comme des appels sortants.

Identificateurs d'abonnement

Les abonnements sont identifiés par une valeur entière positive de 32 bits. Les ID des abonnements configurés sont définis par le contrôleur et ceux des abonnements dynamiques par l'éditeur.

Spécification de la source de données

Les sources de données de télémétrie dans un abonnement sont spécifiées par l'utilisation d'un flux et d'un filtre. Le terme flux fait référence à un ensemble d'événements associés. Le document RFC 5277 définit un flux d'événements comme un ensemble de notifications d'événements correspondant à certains critères de transfert.

Cisco IOS XE prend en charge deux flux : yang-push et yang-notif-native.

Normalement, les événements d'un flux sont filtrés. Différents types de filtre sont utilisés pour différents types de flux.

Ce document utilise la pression de yang comme type de flux et utilise les filtres XPath.

Configuration

Configurer un abonnement dynamique périodique avec la suite YANG

Les abonnements dynamiques sont créés par les abonnés qui se connectent à l'éditeur et appellent à la création d'un abonnement à l'aide d'un mécanisme au sein de cette connexion, généralement un RPC. La durée de vie de l'abonnement est limitée à la durée de vie de la connexion entre l'abonné et l'éditeur, et les données de télémétrie sont envoyées uniquement à cet abonné. Ces abonnements ne persistent pas si l'éditeur ou l'abonné est redémarré. Vous pouvez créer des abonnements dynamiques à l'aide du RPC <établissement-abonnement> intrabande. Le RPC <établissement-subscribe> est envoyé d'un abonné de télémétrie IETF au périphérique réseau. Les champs stream, xpath-filter et point du RPC sont obligatoires.

Lorsqu'un RPC est envoyé, la réponse RPC d'un éditeur contient un message avec un élément qui contient une chaîne de résultats.

Ce tableau affiche la réponse et la raison de la réponse dans un message <rpc-response> :

Vous pouvez envoyer un RPC à partir de YANG Suite pour configurer un abonnement périodique.

Étapes d'obtention du filtre XPath

Pour obtenir le filtre XPath, vous pouvez utiliser YANG Suite une fois que vous avez défini les données à diffuser. Dans cet exemple, les informations de statistiques de mémoire sont les données à diffuser.

Étape 1. Dans Jeu YANG sous Protocoles > NETCONF, sélectionnez le jeu YANG associé au périphérique utilisé. Dans cet exemple, le jeu YANG est appelé CSR1000V.

Étape 2. Chargez le module YANG qui contient les données d'intérêt. Dans cet exemple, il s'agit de Cisco-IOS-XE-memory-oper.

Étape 3. Dans l'arborescence YANG, recherchez le noeud pour lequel vous voulez obtenir le filtre XPath, dans cet exemple est une statistique mémoire, cliquez avec le bouton droit de la souris dessus et sélectionnez Propriétés.

Étape 4. Dans la fenêtre contextuelle qui s'affiche, il y a 2 propriétés qui définissent ensemble le filtre XPath. Ces valeurs sont Xpath et Prefix.

Étapes de création d'un abonnement dynamique NETCONF périodique

Pour créer un abonnement dynamique NETCONF périodique, vous devez utiliser le module YANG IETF-event-notification.

Étape 1. Dans Jeu YANG sous Protocoles > NETCONF, sélectionnez le jeu YANG associé au périphérique utilisé. Dans cet exemple, le jeu YANG est appelé CSR1000V.

Étape 2. Chargez le module IETF-event-notifications YANG.

Étape 3. L'opération NETCONF doit être Autre RPC.

Étape 4. Dans le menu déroulant Périphérique, sélectionnez le périphérique concerné, puis cliquez sur Ouvrir la fenêtre du périphérique dans une nouvelle fenêtre ou dans un nouvel onglet.

Étape 5. Dans la fenêtre séparée qui s'ouvre, cliquez sur Démarrer la session afin d'établir une session NETCONF active avec le périphérique. Ceci est un exemple de fenêtre de session NETCONF établie.

Étape 6. Revenir à la fenêtre précédente. Dans les noeuds de l'arborescence ietf-event-notification, développez le noeud établir-abonnement et choisissez entrée.

Étape 7. Vous devez définir des valeurs de flux, de filtre et de déclencheur de mise à jour.

flux : Yang-push.

filtre : xpath-filter

Le filtre XPath doit avoir le format suivant :

/prefix : xpath

Dans cet exemple, avec l'utilisation des paramètres obtenus dans la section Étapes pour obtenir le filtre XPath.

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

Astuce : Faites attention à la position de "/" dans le filtre XPath

Étape 8. Le déclencheur de mise à jour est une valeur en centisecondes (1/100 d'une seconde). Une période de 1000 se traduit par l'obtention de mises à jour toutes les 10 secondes.

Étape 9. Une fois que les valeurs de flux, de filtre et de déclencheur de mise à jour ont été fournies, cliquez sur Créer RPC et un RPC comme celui présenté dans cette image apparaîtra.

Étape 10. Vous pouvez maintenant cliquer sur Exécuter RPC et créer un abonnement NETCONF Dial-In périodique.

Étape 11. Les messages RPC apparaissent maintenant dans la fenêtre où la session NETCONF a été établie.

Cette image est un exemple du RPC envoyé et de la réponse RPC reçue avec un message OK. Cela signifie que l'abonnement a réussi.

Cette image est un exemple des données de statistiques de mémoire reçues toutes les 10 secondes.

Configurer un abonnement dynamique en cours de modification avec la suite YANG

Toutes les étapes indiquées dans la section Configurer un abonnement périodique avec YANG Suite s'appliquent à cette section. La seule différence est dans la valeur de déclenchement de la mise à jour où vous devez définir une période d'amortissement avec une valeur de 0, aucune autre valeur n'est possible.

Ceci est un exemple de RPC pour établir un abonnement en modification pour les données des voisins CDP.

Configurer un abonnement configuré périodiquement avec la suite YANG

Les abonnements configurés sont créés par des opérations de gestion sur l'éditeur par des contrôleurs et incluent explicitement la spécification du destinataire des données de télémétrie définies par un abonnement. Ces abonnements persistent lors des redémarrages de l'éditeur lorsqu'ils font partie de la configuration du périphérique.

Les abonnements de numérotation externe configurés sont configurés sur le périphérique avec l'une des méthodes suivantes :

- Utilisation des interfaces de ligne de commande de configuration pour passer à la configuration des périphériques via la console/VTY.

- Utilisation de NETCONF/RESTCONF pour configurer l'abonnement souhaité.

Ce document ne couvre pas la façon de configurer un abonnement de numérotation avec l'interface de ligne de commande, mais montre comment envoyer un message RPC NETCONF depuis YANG Suite pour configurer un abonnement de numérotation.

Pour les abonnements configurés, le protocole gRPC est disponible et ne peut être utilisé qu'avec le flux yang-push. Seul le codage Key-value Google Protocol Buffers (kvGPB) est pris en charge avec le protocole de transport gRPC.

Vous pouvez utiliser YANG Suite comme récepteur pour tester des exemples d'abonnements de numérotation directe.

Pour créer un abonnement configuré périodiquement, vous devez utiliser le module YANG Cisco-IOS-XE-mdt-cfg.

Étape 1. Dans la suite YANG, sous Protocoles > gRPC Telemetry, saisissez l'adresse IP et le port, puis cliquez sur Start telemetry récepteur for YANG Suite pour commencer à écouter à l'adresse IP et au port indiqués.

Note: Si l'option de télémétrie gRPC n'est pas disponible, le plug-in peut être installé via la page Admin > Manage plugins dans YANG Suite

Étape 2. Sous Protocoles > NETCONF, sélectionnez le jeu YANG associé au périphérique utilisé. Dans cet exemple, le jeu YANG est appelé CSR1000V.

Étape 3. Chargez le module Cisco-IOS-XE-mdt-cfg YANG.

Étape 4. L'opération NETCONF doit être edit-config.

Étape 5. Sélectionnez le périphérique qui vous intéresse.

Étape 6. Dans l'arborescence Cisco-IOS-XE-mdt-cfg, ces valeurs doivent être définies dans le noeud mdt-subscribe : id-abonnement, flux, codage, point et xpath-filter. Et aussi, les informations sur le récepteur : Adresse IP, port et protocole.

Étape 7. Ces valeurs sont utilisées pour cet exemple :

id-abonnement : 100

flux : yang-push

codage : encode-kvgpb

période : 1000

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

Les informations relatives au récepteur doivent être définies

adresse : <Adresse IP>

port : <port>

protocole : grpc-tcp

Étape 8. Cliquez sur le bouton Build RPC.

Étape 9. Cliquez sur Exécuter RPC.

Étape 10. En cas de succès, sous Protocoles > Télémétrie gRPC, les informations sont maintenant reçues.

Configurer un abonnement configuré lors de la modification avec la suite YANG

Pour configurer un abonnement commuté lors de la modification, le même processus décrit dans la section Configurer un abonnement configuré périodiquement avec YANG Suite est suivi. La seule valeur qui change est la feuille no-sync-on-start qui doit être définie sur false.

Cette image est un exemple de RPC pour un abonnement configuré lors de la modification.

Vérification

Utilisez cette section pour confirmer que votre configuration fonctionne correctement.

Affichez des informations sur les abonnements de télémétrie sur un Cisco IOS XE avec show telemetry ietf subscribe all.

Device# show telemetry ietf subscription all

Telemetry subscription brief

ID               Type        State       Filter type

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

100              Configured  Valid       xpath

2147483651       Dynamic     Valid       xpath

Indiquez les détails d'un abonnement avec show telemetry ietf <subscribeID> 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

Vérifiez l'état de la connexion au récepteur à l'aide de la commande 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

Dépannage

Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.

Scénario 1. Si l'état de l'abonnement à la télémétrie est valide et que vous ne recevez pas de flux dans le récepteur.

Vérifiez l'état de la connexion au récepteur.

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 l'état est Connecté, assurez-vous que la connectivité entre l'éditeur et le récepteur est correcte.

Device# ping

Assurez-vous que le port utilisé est ouvert.

Device# telnet

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

Dans cet exemple, le port n'est pas ouvert/accessible. Vérifiez qu'aucun pare-feu ne peut bloquer le port et s'assurer que le port spécifié est le bon.

Dans les périphériques qui utilisent des VRF, vous devez spécifier l'adresse source VRF/source dans le RPC pour les abonnements configurés. Cette image montre un RPC où le VRF source est spécifié.

Scénario 2. Si l'état de l'abonnement de télémétrie n'est pas valide.

Device# show telemetry ietf subscription all

Telemetry subscription brief

ID               Type        State       Filter type

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

200              Configured  Invalid     xpath

Vérifiez les détails de l'abonnement.

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

Notez la syntaxe du filtre XPath, il comporte un "/" supplémentaire après le « : », le filtre XPath correct est :

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

Toute erreur de syntaxe telle que des lettres manquantes ou des caractères supplémentaires dans le filtre XPath peut conduire à un abonnement non valide.

Si vous avez besoin de support pour l'outil de YANG Suite, contactez le support ou le forum de support.

Informations connexes

- Télémétrie pilotée par modèle, Guide de configuration de la programmabilité, Cisco IOS XE Amsterdam 17.3.x

- Support et documentation techniques - Cisco Systems