Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Informationen zur modellgestützten Telemetrie

Telemetrie-Rollen

Überblick über Abonnements

Abonnement-IDs

Datenquellenspezifikation

Konfigurieren

Konfigurieren eines periodischen dynamischen Abonnements mit der YANG-Suite

Schritte zum Abrufen des XPath-Filters

Schritte zum Erstellen eines periodischen dynamischen NETCONF-Abonnements

Konfigurieren eines dynamischen On-Change-Abonnements mit der YANG Suite

Konfigurieren eines periodisch konfigurierten Abonnements mit der YANG Suite

Konfigurieren eines konfigurierten On-Change-Abonnements mit der YANG Suite

Überprüfung

Fehlerbehebung

Zugehörige Informationen

Einleitung

In diesem Dokument wird beschrieben, wie Sie modellbasierte Telemetrie auf Cisco IOS®-XE-Geräten mithilfe der YANG Suite konfigurieren, um Beispiel-Telemetrie-Remote-Prozeduraufrufe (RPCs) durchzuführen.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- Kenntnisse von YANG sind erforderlich, um die Daten zu verstehen, die bei der Verwendung von Telemetrie erforderlich sind.

- Kenntnis der NETCONF-Vorgänge, z. B. get, get-config, edit-config

Verwendete Komponenten

Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:

- CSR1000V mit Cisco IOS XE 17.3.3

- Cisco YANG Suite Version 2.8

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.

Verwandte Produkte

Dieses Dokument kann auch mit folgenden Hardware- und Softwareversionen verwendet werden: Cisco IOS XE-Geräte, einschließlich Cisco Catalyst Switches der Serie 9000, Cisco Router ASR 1000, ISR 4000 und CSR 1000.

Hintergrundinformationen

YANG Suite muss installiert werden. Weitere Informationen zur Installation der YANG Suite finden Sie in der Dokumentation oder im Github-Repository.

NETCONF-YANG muss auf dem Gerät konfiguriert und ausgeführt werden, auch wenn NETCONF nicht verwendet wird. Weitere Informationen zur NETCONF-Konfiguration finden Sie in der Dokumentation.

In der YANG Suite muss ein Geräteprofil, ein YANG-Repository und ein dem Gerät von Interesse zugeordneter YANG-Modulsatz vorhanden sein. Weitere Informationen zum Erstellen eines Geräteprofils, eines YANG-Repositorys und eines YANG-Modulsatzes finden Sie in der Dokumentation zu YANG Suite unter Verwalten von Geräteprofilen.

Informationen zur modellgestützten Telemetrie

Telemetrie ist ein automatisierter Kommunikationsprozess, bei dem Messungen und andere Daten an entfernten oder unzugänglichen Stellen gesammelt und zur Überwachung an die Empfangsgeräte übertragen werden. Die modellgestützte Telemetrie bietet einen Mechanismus zum Streamen von YANG-modellierten Daten an einen Datensammler.

Anwendungen können mithilfe standardbasierter YANG-Datenmodelle über die Protokolle NETCONF, RESTCONF oder gRPC Network Management Interface (gNMI) bestimmte Datenelemente abonnieren, die sie benötigen. Abonnements können auch über die Befehlszeile erstellt werden.

Strukturierte Daten werden in einem definierten Rhythmus (periodisch) oder bei Änderungen auf der Grundlage der Abonnementkriterien und des Datentyps veröffentlicht.

Telemetrie-Rollen

In Systemen, die Telemetrie verwenden, sind unterschiedliche Rollen involviert. In diesem Dokument werden die folgenden Telemetriefunktionen beschrieben:

- Herausgeber: Netzwerkelement, das die Telemetriedaten sendet.

- Empfänger: Empfang der Telemetriedaten Dies wird auch als Collector bezeichnet.

- Controller: Netzwerkelement, das Abonnements erstellt, die Telemetriedaten jedoch nicht empfängt. Die Telemetriedaten, die mit den Abonnements verknüpft sind, werden an die Empfänger gesendet. Dies wird auch als Management Agent oder Management Entity bezeichnet.

- Teilnehmer: Netzwerkelement, das Abonnements erstellt. Technisch gesehen muss es sich dabei nicht um den Empfänger handeln, aber in diesem Dokument sind beide identisch.

Überblick über Abonnements

Abonnements sind Elemente, die Verknüpfungen zwischen Telemetrierollen erstellen und die zwischen ihnen gesendeten Daten definieren.

Für die Telemetrie werden auf Cisco IOS XE-Systemen zwei Abonnementtypen verwendet: dynamische und konfigurierte Abonnements.

Dynamische Abonnements werden von Clients (dem Abonnenten) erstellt, die sich mit dem Herausgeber verbinden. Sie gelten als Einwahl. Konfigurierte Abonnements veranlassen den Publisher, Verbindungen zu Empfängern herzustellen, und werden daher als Dial-Out betrachtet.

Abonnement-IDs

Abonnements werden durch einen positiven ganzzahligen 32-Bit-Wert identifiziert. Die IDs für konfigurierte Abonnements werden vom Controller und für dynamische Abonnements vom Publisher festgelegt.

Datenquellenspezifikation

Die Quellen von Telemetriedaten in einem Abonnement werden durch die Verwendung eines Streams und eines Filters angegeben. Der Begriff Datenstrom bezieht sich auf eine verwandte Ereignisgruppe. RFC 5277 definiert einen Ereignisdatenstrom als eine Gruppe von Ereignisbenachrichtigungen, die einige Weiterleitungskriterien erfüllen.

Cisco IOS XE unterstützt zwei Streams: yang-push und yang-notif-native.

Normalerweise werden die Ereignisse aus einem Stream gefiltert. Für verschiedene Streamtypen werden unterschiedliche Filtertypen verwendet.

Dieses Dokument verwendet yang-push als Streamtyp und nutzt XPath-Filter.

Konfigurieren

Konfigurieren eines periodischen dynamischen Abonnements mit der YANG-Suite

Dynamische Abonnements werden von Abonnenten erstellt, die eine Verbindung mit dem Herausgeber herstellen und die Erstellung von Abonnements über einen Mechanismus innerhalb dieser Verbindung, in der Regel einen RPC, aufrufen. Die Lebensdauer des Abonnements ist auf die Lebensdauer der Verbindung zwischen dem Abonnenten und dem Herausgeber beschränkt, und Telemetriedaten werden nur an diesen Abonnenten gesendet. Diese Abonnements bleiben nicht bestehen, wenn entweder der Publisher oder der Subscriber neu gestartet wird. Sie können dynamische Abonnements mit dem In-Band-RPC <setup-subscription> erstellen. <setup-subscription> RPC wird von einem IETF-Telemetrie-Subscriber an das Netzwerkgerät gesendet. Die Felder "stream", "xpath-filter" und "period" im RPC sind Pflichtfelder.

Wenn ein RPC gesendet wird, enthält die RPC-Antwort eines Herausgebers eine Nachricht mit einem Element, das eine Ergebniszeichenfolge enthält.

Diese Tabelle zeigt die Antwort und den Grund für die Antwort in einer <rpc-reply> Nachricht an:

Sie können einen RPC von der YANG-Suite senden, um ein regelmäßiges Abonnement zu konfigurieren.

Schritte zum Abrufen des XPath-Filters

Um den XPath-Filter zu erhalten, können Sie die YANG Suite nutzen, sobald Sie die Daten definieren, die Sie streamen müssen. In diesem Beispiel sind Speicherstatistikinformationen die zu streamen Daten.

Schritt 1: Wählen Sie in YANG Suit (YANG-Anzug) unter Protocols > NETCONF (Protokolle > NETCONF) den YANG-Satz aus, der dem verwendeten Gerät zugeordnet ist. In diesem Beispiel heißt das YANG-Set CSR1000V.

Schritt 2: Laden Sie das YANG-Modul, das die gewünschten Daten enthält. In diesem Beispiel ist dies Cisco-IOS-XE-memory-oper.

Schritt 3. In der YANG-Baum finden Sie den Knoten, für den Sie den XPath-Filter erhalten möchten, in diesem Beispiel ist Speicher-Statistik, klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften.

Schritt 4. Im angezeigten Popup-Fenster gibt es zwei Eigenschaften, die zusammen den XPath-Filter definieren. Diese Werte sind Xpath und Prefix.

Schritte zum Erstellen eines periodischen dynamischen NETCONF-Abonnements

Um ein periodisches dynamisches NETCONF-Abonnement zu erstellen, müssen Sie das YANG-Modul IETF-event-notification verwenden.

Schritt 1: Wählen Sie in YANG Suit (YANG-Anzug) unter Protocols > NETCONF (Protokolle > NETCONF) den YANG-Satz aus, der dem verwendeten Gerät zugeordnet ist. In diesem Beispiel heißt das YANG-Set CSR1000V.

Schritt 2. Laden Sie das IETF-event-notifications YANG Module.

Schritt 3: Der NETCONF-Vorgang muss "Other RPC" (Anderer RPC) sein.

Schritt 4. Wählen Sie im Dropdown-Menü Gerät das gewünschte Gerät aus, und klicken Sie dann in einem neuen Fenster oder auf einer neuen Registerkarte auf Gerätefenster öffnen.

Schritt 5. Klicken Sie im nun separaten Fenster auf Sitzung starten, um eine aktive NETCONF-Sitzung mit dem Gerät herzustellen. Dies ist ein Beispiel für ein eingerichtetes NETCONF-Sitzungsfenster.

Schritt 6. Kehren Sie zum vorherigen Fenster zurück. Erweitern Sie in den Knoten unter ietf-event-notification tree (ietf-Ereignisbenachrichtigungsbaum) den Knoten setup-subscription, und wählen Sie input aus.

Schritt 7: Definieren Sie Stream-, Filter- und Update-Trigger-Werte.

Datenstrom: Yang-Push.

Filter: xpath-Filter

Der XPath-Filter muss folgendes Format haben:

/prefix:xpath

In diesem Beispiel werden die unter Steps to Obtain the XPath Filter (Schritte zum Abrufen des XPath-Filters) erhaltenen Parameter verwendet.

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

Tipp: Achten Sie auf die Position des "/" im XPath-Filter.

Schritt 8: Der Aktualisierungsauslöser ist ein Wert in Zentisekunden (1/100 einer Sekunde). Eine Zeitspanne von 1000 führt dazu, dass alle 10 Sekunden Updates abgerufen werden.

Schritt 9: Sobald Stream-, Filter- und Update-Trigger-Werte bereitgestellt wurden, klicken Sie auf RPC erstellen, und ein RPC wie der in diesem Bild gezeigte wird angezeigt.

Schritt 10: Sie können nun auf RPC ausführen klicken und ein regelmäßiges NETCONF-Einwahlabonnement erstellen.

Schritt 11: RPC-Meldungen werden jetzt in dem Fenster angezeigt, in dem die NETCONF-Sitzung eingerichtet wurde.

Dieses Bild ist ein Beispiel für den gesendeten RPC und die erhaltene RPC-Antwort mit einer OK-Nachricht. Dies bedeutet, dass das Abonnement erfolgreich war.

Dieses Bild ist ein Beispiel für die Speicherstatistikdaten, die alle 10 Sekunden empfangen werden.

Konfigurieren eines dynamischen On-Change-Abonnements mit der YANG Suite

Alle im Abschnitt Periodic-Abonnement mit YANG Suite konfigurieren angegebenen Schritte gelten für diesen Abschnitt. Der einzige Unterschied besteht im Wert update-trigger, bei dem Sie eine Bedämpfungsperiode mit dem Wert 0 definieren müssen, ein anderer Wert ist nicht möglich.

Dies ist ein Beispiel für einen RPC zur Erstellung eines On-Change-Abonnements für CDP-Nachbardaten.

Konfigurieren eines periodisch konfigurierten Abonnements mit der YANG Suite

Konfigurierte Abonnements werden durch Verwaltungsvorgänge auf dem Publisher von Controllern erstellt und enthalten explizit die Angabe des Empfängers der durch ein Abonnement definierten Telemetriedaten. Diese Abonnements bleiben auch nach einem Neustart des Publishers bestehen, sobald sie Teil der Gerätekonfiguration werden.

Konfigurierte Dial-Out-Abonnements werden auf dem Gerät mit einer der folgenden Methoden konfiguriert:

- Verwenden von Konfigurations-CLIs zum Wechseln zur Gerätekonfiguration über die Konsole/VTY

- Verwenden von NETCONF/RESTCONF zum Konfigurieren des gewünschten Abonnements

In diesem Dokument wird nicht beschrieben, wie ein Dial-Out-Abonnement mit der CLI konfiguriert wird. Stattdessen wird erläutert, wie eine NETCONF RPC-Nachricht von der YANG Suite gesendet wird, um ein Dial-Out-Abonnement zu konfigurieren.

Für konfigurierte Abonnements ist das gRPC-Protokoll verfügbar und kann nur mit dem Yang-Push-Stream verwendet werden. Nur die Kodierung von Key-Value Google Protocol Buffers (kvGPB) wird mit dem gRPC-Transportprotokoll unterstützt.

Sie können die YANG Suite als Empfänger verwenden, um Beispiele für Dial-out-Abonnements zu testen.

Um ein periodisch konfiguriertes Abonnement zu erstellen, müssen Sie das Modul Cisco-IOS-XE-mdt-cfg YANG verwenden.

Schritt 1: Geben Sie in YANG Suite unter Protokolle > gRPC Telemetrie die IP-Adresse und den Port ein, und klicken Sie dann auf Telemetrie-Empfänger für YANG Suite starten, um den Abhörvorgang an der angegebenen IP-Adresse und dem angegebenen Port zu starten.

Anmerkung: Wenn die gRPC-Telemetrieoption nicht verfügbar ist, kann das Plug-In über die Seite Admin > Manage plugins (Admin > Module verwalten) in YANG Suite installiert werden.

Schritt 2: Wählen Sie unter Protokolle > NETCONF den YANG-Satz aus, der mit dem verwendeten Gerät verknüpft ist. In diesem Beispiel heißt das YANG-Set CSR1000V.

Schritt 3: Laden Sie das Cisco-IOS-XE-mdt-cfg YANG-Modul.

Schritt 4. Der Vorgang NETCONF muss "edit-config" sein.

Schritt 5. Wählen Sie das gewünschte Gerät.

Schritt 6: Im Baum Cisco-IOS-XE-mdt-cfg müssen folgende Werte im mdt-subscription-Knoten definiert werden: subscription-id, stream, encoding, period und xpath-filter. Und auch die Informationen über den Empfänger: IP-Adresse, Port und Protokoll.

Schritt 7. Diese Werte werden für dieses Beispiel verwendet:

Abonnement-ID: 100

Datenstrom: Yang-Push

Kodierung: kodieren-kvgpb

Zeitraum: 1000

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

Informationen zum Empfänger müssen definiert werden

adresse: <IP-Adresse>

anschluss: <Port>

protokolle: GRPC-TCP

Schritt 8: Klicken Sie auf die Schaltfläche RPC erstellen.

Schritt 9: Klicken Sie auf RPC ausführen.

Schritt 10: Wenn der Test erfolgreich war, werden unter Protokolle > gRPC-Telemetrie nun Informationen empfangen.

Konfigurieren eines konfigurierten On-Change-Abonnements mit der YANG Suite

Zum Konfigurieren eines On-Change-Dial-Out-Abonnements wird derselbe Prozess befolgt, der unter "Konfigurieren eines periodisch konfigurierten Abonnements mit YANG Suite" beschrieben wird. Der einzige Wert, der geändert wird, ist das No-Sync-On-Start-Leaf, das auf "false" gesetzt werden muss.

Dieses Image ist ein Beispiel-RPC für ein konfiguriertes On-Change-Abonnement.

Überprüfung

Verwenden Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.

Anzeige von Informationen zu Telemetrie-Abonnements auf einem Cisco IOS XE mit Anzeige von Telemetrie-IETF-Abonnements.

Device# show telemetry ietf subscription all

Telemetry subscription brief

ID               Type        State       Filter type

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

100              Configured  Valid       xpath

2147483651       Dynamic     Valid       xpath

Listen Sie Details zu einem Abonnement mit show telemetry ietf <subscriptionID> detail auf.

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

Überprüfen Sie den Status der Verbindung zum Empfänger mithilfe von 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

Fehlerbehebung

In diesem Abschnitt erhalten Sie Informationen zur Behebung von Fehlern in Ihrer Konfiguration.

Szenario 1. Wenn der Status des Telemetrie-Abonnements gültig ist und Sie keine Streams im Empfänger empfangen.

Überprüfen Sie den Status der Verbindung zum Gerät.

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

Wenn der Status Connecting (Verbindung herstellen) lautet, stellen Sie sicher, dass die Verbindung zwischen Publisher und Receiver richtig ist.

Device# ping

Stellen Sie sicher, dass der verwendete Port offen ist.

Device# telnet

Trying 10.88.246.10, 57350 ...

% Connection refused by remote host

In diesem Beispiel ist der Port nicht offen/erreichbar. Vergewissern Sie sich, dass keine Firewall vorhanden ist, die den Port blockieren kann, und dass der angegebene Port richtig ist.

Bei Geräten, die VRFs verwenden, müssen Sie die Quell-VRF-/Quell-Adresse für konfigurierte Abonnements im RPC angeben. Dieses Bild zeigt einen RPC, auf dem die Quell-VRF-Instanz angegeben ist.

Szenario 2. Wenn der Status des Telemetrie-Abonnements ungültig ist.

Device# show telemetry ietf subscription all

Telemetry subscription brief

ID               Type        State       Filter type

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

200              Configured  Invalid     xpath

Abonnementdetails überprüfen.

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

Beachten Sie die Syntax des XPath-Filters. Nach dem Zeichen ":" wird der richtige XPath-Filter angezeigt:

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

Syntaxfehler wie fehlende Buchstaben oder zusätzliche Zeichen im XPath-Filter können zu einem ungültigen Abonnement führen.

Wenn Sie Unterstützung für YANG Suite benötigen, wenden Sie sich an den Support-Mailer oder das Support-Forum.

Zugehörige Informationen

- Modellbasierte Telemetrie, Konfigurationsanleitung zur Programmierbarkeit, Cisco IOS XE Amsterdam 17.3.x

- Technischer Support und Dokumentation für Cisco Systeme