I blogg #7 av CCIE Automation-reisen utforskes Model-Driven Telemetry for å hente sanntidsdata fra nettverksenheter. Ved hjelp av Ansible, Telegraf, InfluxDB og Grafana settes det opp en løsning for strømming, lagring og visualisering av telemetrimålinger som gir bedre innsikt i nettverkets tilstand.
![<span id="hs_cos_wrapper_name" class="hs_cos_wrapper hs_cos_wrapper_meta_field hs_cos_wrapper_type_text" style="" data-hs-cos-general-type="meta_field" data-hs-cos-type="text" >[Min reise mot CCIE Automation #7] Utforsking av Model-Driven Telemetry for sanntidsinnsikt i nettverket</span>](https://sicra.no/hs-fs/hubfs/two_guys_working_on_a_computer.jpg?width=1024&height=576&name=two_guys_working_on_a_computer.jpg)
(Denne artikkelen var tidligere en del av Bluetree.no. Siden Sicra og Bluetree har slått seg sammen, er nå innhold fra Bluetree overført til Sicra.)
[Min reise mot CCIE Automation #7] Utforsking av Model-Driven Telemetry for sanntidsinnsikt i nettverket er del av en pågående CCIE Automation-serie. I forrige blogg jobbet jeg med infrastruktur som kode og Cisco ACI. Denne gangen utforsker jeg Model-Driven Telemetry for å hente sanntidsdata og få bedre innsikt i nettverkstilstand.
Denne gangen ønsket jeg å gå dypere inn i Model-Driven Telemetry (MDT). I stedet for å manuelt hente operasjonelle data fra enheter, gjør MDT det mulig å strømme sanntidsmålinger direkte fra nettverksenheter til overvåkingssystemer – og gir innsikt i ytelse, tilstand og avvik idet de oppstår.
Model-Driven Telemetry er fundamentet for proaktiv, datadrevet nettverksdrift. Det lar oss blant annet:
Strømme måledata fra enheter i sanntid (CPU, minne, grensesnitt, BGP-peers)
Bruke YANG-modeller til å definere nøyaktig hvilke data vi ønsker
Velge mellom periodisk polling, periodisk push eller hendelsesdrevne abonnementer
Visualisere data i Grafana eller sende dem videre til analyseplattformer
Jeg laget en MDT-løsning for Cisco IOS-XE-enheter, integrert i Nautix-plattformen min:
Subscriptions: Opprettet ved hjelp av YANG-modeller for å samle operasjonelle data for CPU, minne, temperatur og CDP-naboer
Streaming: Konfigurert dial-out gRPC-telemetri til Telegraf
Visualisering: Bygget et Grafana-dashboard som viser enhetsmålinger
Optimalisering: Justerte abonnementer med XPath-filtre, cadence-innstillinger og on-change-triggere
Før du konfigurerer telemetri på enhetene dine, trenger du TIG-stacken (Telegraf → InfluxDB → Grafana) for å motta og visualisere dataene. Slik satte jeg den opp lokalt ved hjelp av Docker Compose.
Jeg forutsetter at du allerede har klonet repositoriet og gjennomført initielt oppsett i henhold til README.
I rotkatalogen til repositoriet, kjør:
docker-compose up
Dette starter:
InfluxDB – lagrer telemetridata
Grafana – dashboards og visualisering
Telegraf – valgfri lokal agent for transformasjon eller innsamling
Andre Nautix-tjenester
Konfigurer telemetriabonnementer på enhetene (pass på at du har kjørt device discovery først):
docker exec -it automation ansible-playbook -i ansible/hosts.yml ansible/configure_telemetry.yml
Denne playbooken:
Oppretter abonnementer ved hjelp av YANG-modeller
Konfigurerer cadence, on-change-triggere og dial-out-strømmer
Peker telemetridata til InfluxDB-instansen din
På enhetene, verifiser abonnementene:
show telemetry ietf subscription all
Sjekk at abonnementet er koblet til Telegraf:
show telemetry ietf subscription 1 receiver
Åpne Grafana (http://localhost:3000), logg inn med admin/secret
Legg til InfluxDB som datakilde og pek til InfluxDB-containeren
Importer dashboard: services/grafana/nautix_dashboard.json
Utforsk sanntidsmålinger fra enhetene i dashboardet
Her er oppdatert mappestruktur som reflekterer nye eller endrede filer:
Mappe: services/automation/ansible/
configure_telemetry.yml – Ansible-playbook for å opprette telemetriabonnementer (ny/oppdatert)
group_vars/discovered.yml – Variabler brukt for telemetrikonfigurasjon
Mappe: services/grafana/
influxdb.yml – Grafana datakildekonfigurasjon for InfluxDB
nautix_dashboard.json – Eksportert dashboard
Mappe: services/telegraf/
telegraf.conf – Telegraf-konfigurasjon
Mappe: docker-compose.yml – Starter InfluxDB, Grafana, Telegraf og resten av Nautix-applikasjonen
configure_telemetry.yml setter opp telemetriabonnementer på Cisco IOS-XE-enheter ved bruk av YANG XPath
Variabler i group_vars/discovered.yml brukes for dynamisk konfigurasjon
Docker Compose starter Telegraf, InfluxDB og Grafana, og gir et fullt integrert telemetrimiljø
Konfigurert via telegraf.conf for å parse telemetristrømmer fra enheter og videresende målinger til InfluxDB
Satt opp på et helt grunnleggende nivå
Tidligere krevde operasjonelle data manuelle CLI-kommandoer eller SNMP-polling.
Nå:
Måledata strømmes kontinuerlig, noe som reduserer forsinkelse
On-change-abonnementer minimerer unødvendig datamengde
Dashboards gir handlingsrettet innsikt på et øyeblikk
Brukstilfelle «I»: Model-driven telemetry
I.1 Trigge Ansible-playbook for å konfigurere telemetriabonnement på Cisco IOS XE-enheter
I.2 Ansible kjører playbook
I.3 Nettverksenheter begynner å sende telemetridata til Telegraf
I.4 Telegraf lagrer telemetridata i InfluxDB
I.5 Bruker viser dashboard
I.6 Grafana henter telemetridata fra InfluxDB
Bruker ser telemetridata


Blogg #8 har jeg ikke bestemt ennå. Det blir en overraskelse.
[Min reise mot CCIE Automation #1] Introduksjon + bygging av en Python CLI-applikasjon
[Min reise mot CCIE Automation #2] Inventory REST API og mikrotjenestearkitektur
[Min reise mot CCIE Automation #3] Orchestration API og NETCONF
[Min reise mot CCIE Automation #9] Anvendelse av OWASP Secure Coding Practices
[Min reise mot CCIE Automation #10] Fra Docker Compose til Kubernetes



