Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
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).
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
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.
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.
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.
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.
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 :
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.
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.
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.
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.
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.
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.
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.
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 :
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.
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.
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
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.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
30-Sep-2021 |
Première publication |