Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Informazioni sulla telemetria guidata dal modello

Ruoli di telemetria

Panoramica sulla sottoscrizione

Identificativi sottoscrizione

Specifica origine dati

Configurazione

Configurazione di una sottoscrizione dinamica periodica con YANG Suite

Passaggi per ottenere il filtro XPath

Procedura per la creazione di una sottoscrizione dinamica periodica NETCONF

Configurazione di una sottoscrizione dinamica con modifica con YANG Suite

Configurazione di una sottoscrizione configurata periodicamente con YANG Suite

Configurazione di una sottoscrizione configurata su modifica con YANG Suite

Verifica

Risoluzione dei problemi

Informazioni correlate

Introduzione

In questo documento viene descritto come configurare la telemetria basata su modelli sui dispositivi Cisco IOS®-XE con l'utilizzo di YANG Suite per eseguire chiamate di procedura remota (RPC) di telemetria di esempio.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- La conoscenza di YANG è necessaria per comprendere i dati che sono necessari quando si utilizza la telemetria.

- Conoscenza delle operazioni NETCONF, come get, get-config, edit-config.

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- CSR1000V con Cisco IOS XE 17.3.3

- Cisco YANG Suite versione 2.8

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Prodotti correlati

Il documento può essere usato anche per queste versioni hardware e software: dispositivi Cisco IOS XE, tra cui switch Cisco Catalyst 9000, Cisco ASR 1000, ISR 4000 e router CSR 1000.

Premesse

YANG Suite deve essere installato. Per ulteriori informazioni sull'installazione di YANG Suite, consultare la documentazione o il repository Github.

NETCONF-YANG deve essere configurato e in esecuzione sul dispositivo, anche se NETCONF non viene utilizzato. Per ulteriori informazioni sulla configurazione di NETCONF, consultare la documentazione.

Un profilo di dispositivo, un repository YANG e un set di moduli YANG associati al dispositivo di interesse devono esistere in YANG Suite. Per ulteriori informazioni su come creare un profilo di dispositivo, un repository YANG e un set di moduli YANG, consultare la documentazione di YANG Suite in Gestione dei profili di dispositivo.

Informazioni sulla telemetria guidata dal modello

La telemetria è un processo di comunicazione automatizzato mediante il quale le misurazioni e altri dati vengono raccolti in punti remoti o inaccessibili e trasmessi alle apparecchiature riceventi per il monitoraggio. La telemetria guidata dal modello fornisce un meccanismo per lo streaming dei dati modellati da YANG a un agente di raccolta dati.

Le applicazioni possono effettuare la sottoscrizione a elementi di dati specifici necessari utilizzando modelli di dati YANG basati su standard con protocolli NETCONF, RESTCONF o gRPC Network Management Interface (gNMI). Le sottoscrizioni possono essere create anche dalla riga di comando (CLI).

I dati strutturati vengono pubblicati con una frequenza definita (periodicamente) o su modifica, in base ai criteri di sottoscrizione e al tipo di dati.

Ruoli di telemetria

Nei sistemi che utilizzano la telemetria, sono coinvolti ruoli diversi. In questo documento vengono descritti i seguenti ruoli di telemetria:

- Autore: Elemento di rete che invia i dati di telemetria.

- Ricevitore: Riceve i dati di telemetria. Questo viene anche chiamato raccoglitore.

- Controller: Elemento di rete che crea sottoscrizioni ma non riceve i dati di telemetria. I dati di telemetria associati alle sottoscrizioni, vengono creati dai ricevitori. Questa operazione viene anche definita agente di gestione o entità di gestione.

- Sottoscrittore: Elemento di rete che crea sottoscrizioni. Tecnicamente, anche se questo non deve essere il ricevitore, in questo documento, entrambi sono uguali.

Panoramica sulla sottoscrizione

Le sottoscrizioni sono elementi che creano associazioni tra ruoli di telemetria e definiscono i dati che vengono inviati tra di essi.

Nei sistemi Cisco IOS XE vengono utilizzati due tipi di abbonamenti per la telemetria: sottoscrizioni dinamiche e configurate.

Le sottoscrizioni dinamiche vengono create dai client (il sottoscrittore) che si connettono al server di pubblicazione e vengono considerate connessioni remote. Le sottoscrizioni configurate fanno sì che il server di pubblicazione avvii connessioni ai destinatari e, di conseguenza, vengono considerate chiamate in uscita.

Identificativi sottoscrizione

Le sottoscrizioni sono identificate da un valore intero positivo a 32 bit. Gli ID per le sottoscrizioni configurate vengono impostati dal controller, mentre per le sottoscrizioni dinamiche vengono impostati dall'autore.

Specifica origine dati

Le origini dei dati di telemetria in una sottoscrizione sono specificate dall'utilizzo di un flusso e di un filtro. Il termine flusso si riferisce a un insieme correlato di eventi. La RFC 5277 definisce un flusso di eventi come un insieme di notifiche di eventi che soddisfano alcuni criteri di inoltro.

Cisco IOS XE supporta due flussi: yang-push e yang-notif-native.

In genere, l'insieme di eventi di un flusso viene filtrato. Per diversi tipi di flusso vengono utilizzati tipi di filtro diversi.

In questo documento viene usato yang-push come tipo di flusso e vengono usati i filtri XPath.

Configurazione

Configurazione di una sottoscrizione dinamica periodica con YANG Suite

Le sottoscrizioni dinamiche vengono create dai sottoscrittori che si connettono al server di pubblicazione e richiedono la creazione di sottoscrizioni utilizzando un meccanismo all'interno di tale connessione, in genere una RPC. La durata della sottoscrizione è limitata alla durata della connessione tra il sottoscrittore e l'autore e i dati di telemetria vengono inviati solo a tale sottoscrittore. Queste sottoscrizioni non vengono mantenute se il server di pubblicazione o il sottoscrittore viene riavviato. È possibile creare sottoscrizioni dinamiche utilizzando la RPC in-band <stabilire-sottoscrizione>. La RPC <stabilire-sottoscrizione> viene inviata da un sottoscrittore di telemetria IETF al dispositivo di rete. I campi stream, xpath-filter e period nella RPC sono obbligatori.

Quando viene inviata una RPC, la risposta RPC di un autore contiene un messaggio con un elemento che contiene una stringa di risultati.

In questa tabella vengono visualizzati la risposta e il motivo della risposta in un messaggio <rpc-reply>:

È possibile inviare una RPC da YANG Suite per configurare una sottoscrizione periodica.

Passaggi per ottenere il filtro XPath

Per ottenere il filtro XPath è possibile utilizzare YANG Suite una volta definiti i dati da inviare in streaming. In questo esempio, le informazioni statistiche della memoria sono i dati da inviare come flusso.

Passaggio 1. In YANG Suit in Protocolli > NETCONF, selezionare il set YANG associato al dispositivo in uso. In questo esempio il set YANG è chiamato CSR1000V.

Passaggio 2. Caricare il modulo YANG contenente i dati di interesse. Nell'esempio, questo valore è Cisco-IOS-XE-memory-oper.

Passaggio 3. Nella struttura YANG individuare il nodo per il quale si desidera ottenere il filtro XPath. In questo esempio viene utilizzato il filtro statistico della memoria, fare clic con il pulsante destro del mouse su di esso e selezionare Proprietà.

Passaggio 4. Nella finestra popup visualizzata sono disponibili due proprietà che insieme definiscono il filtro XPath. Tali valori sono Xpath e Prefix.

Procedura per la creazione di una sottoscrizione dinamica periodica NETCONF

Per creare una sottoscrizione dinamica periodica NETCONF, è necessario utilizzare il modulo YANG IETF-event-notification.

Passaggio 1. In YANG Suit in Protocolli > NETCONF, selezionare il set YANG associato al dispositivo in uso. In questo esempio il set YANG è chiamato CSR1000V.

Passaggio 2. Caricare il modulo YANG IETF-event-notification.

Passaggio 3. L'operazione NETCONF deve essere Other RPC.

Passaggio 4. Nel menu a discesa Dispositivo, selezionare il dispositivo desiderato, quindi fare clic su Apri finestra dispositivo in una nuova finestra o in una nuova scheda.

Passaggio 5. Nella finestra separata che viene visualizzata, fare clic su Avvia sessione per stabilire una sessione NETCONF attiva con il dispositivo. Questo è un esempio di finestra di sessione NETCONF.

Passaggio 6. Tornare alla finestra precedente. Nei nodi della struttura ietf-event-notification, espandere il nodo define-subscription e scegliere input.

Passaggio 7. È necessario definire i valori di flusso, filtro e trigger di aggiornamento.

flusso: yang-push.

filtro: filtro-xpath

Il filtro XPath deve avere il seguente formato:

/prefix:percorsox

In questo esempio, utilizzando i parametri ottenuti nella sezione Passaggi per ottenere il filtro XPath.

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

Suggerimento: Prestare attenzione alla posizione della barra "/" nel filtro XPath

Passaggio 8. Il trigger di aggiornamento è un valore in centisecondi (1/100 di secondo). Un periodo di 1000 consente di ottenere aggiornamenti ogni 10 secondi.

Passaggio 9. Dopo aver fornito i valori di flusso, filtro e trigger di aggiornamento, fare clic su Genera RPC. Verrà visualizzata una RPC simile a quella illustrata nell'immagine.

Passaggio 10. È ora possibile fare clic su Esegui RPC e creare una sottoscrizione chiamate in ingresso NETCONF periodica.

Passaggio 11. I messaggi RPC vengono visualizzati nella finestra in cui è stata stabilita la sessione NETCONF.

Questa immagine è un esempio di RPC inviata e di RPC-reply ricevuta con un messaggio OK. Ciò significa che la sottoscrizione è riuscita.

Questa immagine è un esempio dei dati statistici della memoria ricevuti ogni 10 secondi.

Configurazione di una sottoscrizione dinamica con modifica con YANG Suite

Tutti i passi indicati nella sezione Configurazione di una sottoscrizione periodica con YANG Suite si applicano a questa sezione, l'unica differenza è nel valore di attivazione-aggiornamento dove è necessario definire un periodo di attenuazione con un valore di 0, nessun altro valore è possibile.

Questo è un esempio di RPC per stabilire una sottoscrizione di modifiche ai dati adiacenti CDP.

Configurazione di una sottoscrizione configurata periodicamente con YANG Suite

Le sottoscrizioni configurate vengono create dalle operazioni di gestione sull'autore da parte dei controller e includono esplicitamente la specifica del destinatario dei dati di telemetria definiti da una sottoscrizione. Queste sottoscrizioni persistono anche dopo il riavvio del server di pubblicazione quando diventano parte della configurazione del dispositivo.

Le sottoscrizioni remote configurate sono configurate nel dispositivo con uno dei seguenti metodi:

- Uso delle CLI di configurazione per passare alla configurazione del dispositivo tramite console/VTY.

- Utilizzo di NETCONF/RESTCONF per configurare la sottoscrizione desiderata.

Questo documento non descrive come configurare una sottoscrizione dial-out con la CLI, ma mostra come inviare un messaggio RPC NETCONF da YANG Suite per configurare una sottoscrizione dial-out.

Per le sottoscrizioni configurate, il protocollo gRPC è disponibile e può essere utilizzato solo con il flusso yang-push. Con il protocollo di trasporto gRPC è supportata solo la codifica KvGPB (Google Protocol Buffers) con valori di chiave.

È possibile utilizzare YANG Suite come ricevitore per testare le sottoscrizioni dial-out di esempio.

Per creare una sottoscrizione configurata periodicamente, è necessario utilizzare il modulo YANG Cisco-IOS-XE-mdt-cfg.

Passaggio 1. In YANG Suite, in Protocolli > telemetria RPC, immettere indirizzo IP e porta, quindi fare clic su Avvia ricevitore telemetria per YANG Suite per avviare l'ascolto alla porta e all'indirizzo IP indicati.

Nota: Se l'opzione di telemetria gRPC non è disponibile, è possibile installare il plug-in dalla pagina Amministrazione > Gestisci plug-in di YANG Suite

Passaggio 2. In Protocolli > NETCONF, selezionare il set YANG associato al dispositivo in uso. In questo esempio il set YANG è chiamato CSR1000V.

Passaggio 3. Caricare il modulo Cisco-IOS-XE-mdt-cfg YANG.

Passaggio 4. L'operazione NETCONF deve essere edit-config.

Passaggio 5. Scegliere il dispositivo desiderato.

Passaggio 6. Nella struttura Cisco-IOS-XE-mdt-cfg questi valori devono essere definiti nel nodo della sottoscrizione mdt: id-sottoscrizione, flusso, codifica, periodo e filtro-xpath. Inoltre, le informazioni sul ricevitore: Indirizzo IP, porta e protocollo.

Passaggio 7. Nell'esempio vengono utilizzati i seguenti valori:

id-sottoscrizione: 100

flusso: yang-push

codifica: encode-kvgpb

periodo: 1000

filtro xpath: /memory-ios-xe-oper:statistica-memoria/statistica-memoria

È necessario definire le informazioni sul ricevitore

Indirizzo: <Indirizzo IP>

port: <porta>

protocollo: grpc-tcp

Passaggio 8. Fare clic sul pulsante Genera RPC.

Passaggio 9. Fare clic su Esegui RPC.

Passaggio 10. Se l'operazione ha esito positivo, in Protocolli > telemetria RPC vengono ricevute informazioni.

Configurazione di una sottoscrizione configurata su modifica con YANG Suite

Per configurare una sottoscrizione dial-out con modifica allo stesso processo descritto nella sezione Configurazione di una sottoscrizione configurata periodicamente con YANG Suite, l'unico valore che cambia è la foglia no-sync-on-start che deve essere impostata su false.

Questa immagine è un esempio di RPC per una sottoscrizione configurata su modifica.

Verifica

Fare riferimento a questa sezione per verificare che la configurazione funzioni correttamente.

Visualizzare le informazioni sulle sottoscrizioni telemetriche su 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

Elenca i dettagli relativi a una sottoscrizione con i dettagli show telemetry ietf <subscriptionID>.

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

Verificare lo stato della connessione al ricevitore 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

Risoluzione dei problemi

Le informazioni contenute in questa sezione permettono di risolvere i problemi relativi alla configurazione.

Scenario 1. Se lo stato della sottoscrizione di telemetria è valido e non si ricevono flussi nel ricevitore.

Verificare lo stato della connessione al ricevitore.

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

Se lo stato è Connecting (Connessione in corso), verificare la corretta connettività tra l'autore e il destinatario.

Device# ping

Verificare che la porta in uso sia aperta.

Device# telnet

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

Nell'esempio, la porta non è aperta/raggiungibile. Verificare che non esista un firewall in grado di bloccare la porta e che la porta specificata sia quella corretta.

Nei dispositivi che utilizzano VRF, è necessario specificare il VRF di origine/indirizzo di origine nella RPC per le sottoscrizioni configurate. Nell'immagine è illustrata una RPC in cui è specificato il VRF di origine.

Scenario 2. Se lo stato della sottoscrizione di telemetria non è valido.

Device# show telemetry ietf subscription all

Telemetry subscription brief

ID               Type        State       Filter type

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

200              Configured  Invalid     xpath

Verificare i dettagli della sottoscrizione.

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

Si noti che la sintassi del filtro XPath include un segno "/" aggiuntivo dopo il segno ":". Il filtro XPath corretto è:

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

Qualsiasi errore di sintassi, ad esempio lettere mancanti o caratteri aggiuntivi nel filtro XPath, può determinare una sottoscrizione non valida.

Se hai bisogno di supporto per lo strumento YANG Suite, contatta il mailer di supporto o il forum di supporto.

Informazioni correlate

- Telemetria basata su modelli, Guida alla configurazione della programmabilità, Cisco IOS XE Amsterdam 17.3.x

- Documentazione e supporto tecnico – Cisco Systems