La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
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.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
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.
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.
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.
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.
Nei sistemi che utilizzano la telemetria, sono coinvolti ruoli diversi. In questo documento vengono descritti i seguenti ruoli di telemetria:
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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
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.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
30-Sep-2021 |
Versione iniziale |