Juniper NETWORKS- logoTelemetria in Junos per i carichi di travagliu AI/ML
Autore: Shalini Mukherjee

Introduzione

Siccomu u trafficu di cluster AI richiede reti senza perdita cù un altu throughput è una bassa latenza, un elementu criticu di a rete AI hè a cullizzioni di dati di monitoraghju. Junos Telemetry permette un monitoraghju granulare di l'indicatori di rendiment chjave, cumprese soglie è contatori per a gestione di a congestione è u bilanciamentu di a carica di u trafficu. Sessioni gRPC supportanu u streaming di dati di telemetria. gRPC hè un quadru mudernu, open-source, di altu rendiment chì hè custruitu nantu à u trasportu HTTP / 2. Capacità e capacità di streaming bidirezionale nativu è include metadati persunalizati flessibili in headers di dumanda. U passu iniziale in a telemetria hè di sapè quale dati deve esse recullatu. Pudemu analizà sta dati in diversi formati. Una volta cullemu i dati, hè impurtante di prisentà in un formatu chì hè faciule da monitorà, piglià decisioni è migliurà u serviziu offru. In questu articulu, usemu una pila di telemetria composta da Telegraf, InfluxDB è Grafana. Questa pila di telemetria raccoglie dati utilizendu un mudellu push. I mudelli di pull tradiziunali sò intensivi di risorse, necessitanu intervenzione manuale, è puderanu include lacune d'infurmazioni in i dati chì cullighjanu. I mudelli Push superanu queste limitazioni trasmettendu dati in modu asincronu. Anu arricchisce i dati usendu user-friendly tags e nomi. Quandu i dati sò in un formatu più leggibile, l'almacenemu in una basa di dati è l'utilizanu in una visualizazione interattiva web applicazione per analizà a rete. Figura. 1 ci mostra cumu sta pila hè pensata per a cullizzioni di dati, u almacenamentu è a visualizazione efficaci, da i dispositi di rete chì spinghjenu e dati à u cullettore à i dati chì sò affissati nantu à i dashboards per l'analisi.

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads -

Stack TIG

Avemu usatu un servitore Ubuntu per installà tuttu u software cumpresu a pila TIG.

Telegrafu
Per cullà dati, usemu Telegraf nantu à un servitore Ubuntu in esecuzione 22.04.2. A versione Telegraf in esecuzione in questa demo hè 1.28.5.
Telegraf hè un agente di servitore guidatu da plugin per a cullizzioni è a misura di rapportu. Si usa un processore plugins per arricchisce è nurmalizà i dati. L'output plugins sò usati per mandà sta dati à diversi magazzini di dati. In stu documentu avemu aduprà dui plugins: unu per i sensori openconfig è l'altru per i sensori nativi Juniper.
InfluxDB
Per almacenà e dati in una basa di dati di serie temporale, usemu InfluxDB. U plugin di output in Telegraf manda i dati à InfluxDB, chì l'almacene in una manera altamente efficiente. Avemu aduprà V1.8 cum'è ùn ci hè micca presente CLI per V2 è sopra.
Grafana
Grafana hè utilizatu per visualizà sta dati. Grafana tira i dati da InfluxDB è permette à l'utilizatori di creà dashboards ricchi è interattivi. Quì, avemu a versione 10.2.2.

Configurazione nantu à u Switch

Per implementà sta pila, avemu prima bisognu di cunfigurà u cambiamentu cum'è mostra in Figura 2. Avemu usatu u portu 50051. Qualchese portu pò esse usatu quì. Accedi à u switch QFX è aghjunghje a seguente cunfigurazione.

Telemetria di Juniper NETWORKS In Junos per u Software AI ML Workloads - Cambia

Nota: Sta cunfigurazione hè per i laboratori / POC cum'è a password hè trasmessa in testu chjaru. Aduprate SSL per evità questu.

Ambiente

Juniper NETWORKS Telemetria In Junos per u Software AI ML Workloads - Ambiente

Nginx
Questu hè necessariu s'ellu ùn pudete micca espose u portu induve Grafana hè ospitu. U prossimu passu hè di installà nginx nantu à u servitore Ubuntu per serve cum'è un agente proxy inversu. Una volta nginx hè stallatu, aghjunghje e linee mostrate in Figura 4 à u schedariu "default" è move u schedariu da /etc/nginx à /etc/nginx/sites-enabled.

Telemetria di Juniper NETWORKS In Junos per AI ML Workloads Software - Nginx

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx1

Assicuratevi chì u firewall hè aghjustatu per dà accessu sanu à u serviziu nginx cum'è mostra in Figura 5.

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx2

Una volta nginx hè stallatu è i cambiamenti necessarii sò fatti, duvemu esse capace di accede à Grafana da a web navigatore utilizendu l'indirizzu IP di u servitore Ubuntu induve tuttu u software hè stallatu.
Ci hè una piccula glitch in Grafana chì ùn vi permette micca di resettate a password predeterminata. Aduprate sti passi s'è vo curriri in stu prublema.
Passi da fà nantu à u servitore Ubuntu per stabilisce a password in Grafana:

  • Andà à /var/lib/grafana/grafana.db
  • Installa sqllite3
    o sudo apt install sqlite3
  • Eseguite stu cumandamentu in u vostru terminal
    o sqlite3 grafana.db
  •  Sqlite prompt di cumanda si apre; eseguite a seguente dumanda:
    > sguassate da l'utilizatore induve login = 'admin'
  • Riavvia grafana è scrive admin cum'è nome d'utilizatore è password. Ci dumanda una nova password.

Una volta chì tuttu u software hè stallatu, crea u schedariu di cunfigurazione in Telegraf chì aiuterà à tirà i dati di telemetria da u switch è spinghje à InfluxDB.

Openconfig Sensor Plugin

Nantu à u servitore Ubuntu, editate u schedariu /etc/telegraf/telegraf.conf per aghjunghje tutti i necessarii plugins è sensori. Per i sensori openconfig, usemu u plugin gNMI mostratu in Figura 6. Per scopi demo, aghjunghje u nome d'ospitu cum'è "spine1", u numeru di portu "50051" chì hè utilizatu per gRPC, u nome d'utilizatore è a password di u switch, è u numeru. di seconde per rialleghja in casu di fallimentu.
In a stanza di abbunamentu, aghjunghje un nome unicu, "cpu" per stu sensoru particulari, u percorsu di u sensoru, è l'intervallu di tempu per piglià sta dati da u switch. Aghjunghjite u stessu plugin inputs.gnmi è inputs.gnmi.subscription per tutti i sensori di cunfigurazione aperti. (Figura 6)

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx3

Plugin sensor nativu

Questu hè un plugin d'interfaccia di telemetria Juniper utilizatu per i sensori nativi. In u listessu telegraf.conf file, aghjunghje u plugin di sensor nativu inputs.jti_openconfig_telemetry induve i campi sò quasi uguali à openconfig. Aduprate un ID client unicu per ogni sensoru; quì, avemu aduprà "telegraf3". U nome unicu utilizatu quì per stu sensoru hè "mem" (Figura 7).

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx4

Infine, aghjunghje un plugin output outputs.influxdb per mandà sta dati di sensor à InfluxDB. Quì, a basa di dati hè chjamata "telegraf" cù nome d'utilizatore cum'è "influx" è password "influxdb" (Figura 8).

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx5

Una volta editatu u schedariu telegraf.conf, riavvia u serviziu di telegraf. Avà, verificate in l'InfluxDB CLI per assicurà chì e misurazioni sò create per tutti i sensori unichi. Scrivite "influx" per entre in l'InfluxDB CLI.

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx6

Comu vistu in Figura. 9, entre in u prompt influxDB è utilizate a basa di dati "telegraf". Tutti i nomi unichi dati à i sensori sò listati cum'è misurazioni.
Per vede l'output di qualsiasi misurazione, solu per assicurà chì u telegrafu hè currettu è chì u sensore funziona, utilizate u cumandimu "select * from cpu limit 1" cum'è mostra in Figura 10.

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx7

Ogni volta chì i cambiamenti sò fatti à u schedariu telegraf.conf, assicuratevi di piantà InfluxDB, riavviate Telegraf, è poi avviate InfluxDB.
Accedi à Grafana da u navigatore è crea dashboards dopu avè assicuratu chì e dati sò stati raccolti currettamente.
Andà à Cunnessioni> InfuxDB> Aggiungi una nova fonte di dati.

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx8

  1. Dà un nome à sta fonte di dati. In questa demo hè "test-1".
  2.  Sottu a stanza HTTP, utilizate l'IP di u servitore Ubuntu è u portu 8086.
    Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx9
  3. In i dettagli InfluxDB, utilizate u listessu nome di basa di dati, "telegraf", è furnisce u nome d'utilizatore è a password di u servitore Ubuntu.
  4. Cliccate Salvà è pruvà. Assicuratevi di vede u missaghju, "successu".
    Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Nginx10
  5. Una volta chì a fonti di dati hè aghjuntu cù successu, andate à Dashboards è cliccate New. Creemu uni pochi di dashboards chì sò essenziali per i carichi di travagliu AI / ML in modu editore.

Examples Of Sensor Graphs

I seguenti sò example di certi contatori maiò chì sò essenziali per u monitoraghju di una rete AI / ML.
Per centutage utilizazione per una interfaccia d'ingressu et-0/0/0 in spine-1
Juniper NETWORKS Telemetria In Junos per AI ML Workloads Software - Grafici

  • Selezziunà a fonte di dati cum'è test-1.
  • In a sezione FROM, selezziunate a misurazione cum'è "interfaccia". Questu hè u nome unicu utilizatu per sta strada di sensori.
  • In a sezione WHERE, selezziunate u dispositivu::tag, è in u tag valore, selezziunà u hostname di u switch, vale à dì, spine1.
  • In a sezione SELECT, sceglite u ramu di sensori chì vulete monitorà; in questu casu sceglite "field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)". Avà in a listessa sezione, cliccate nantu à "+" è aghjunghje stu calculu matematicu (/50000000000 * 100). Bastamente calculemu u percentualitàtage utilizazione di una interfaccia 400G.
  • Assicuratevi chì u FORMAT hè "serie temporale", è nome u graficu in a sezione ALIAS.

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Graphs1Occupazione di buffer di punta per ogni fila

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Graphs2

  • Selezziunà a fonte di dati cum'è test-1.
  • In a sezione FROM, selezziunate a misurazione cum'è "buffer".
  • In a sezione WHERE, ci sò trè campi da riempie. Selezziunà u dispusitivu:tag, è in u tag valore selezziunà u hostname di u switch (ie spine-1); E selezziunate /cos/interfaces/interface/@name::tag è selezziunate l'interfaccia (ie et- 0/0/0); È selezziunate ancu a fila, /cos/interfaces/interface/queues/queue/@queue::tag è sceglite u numeru di fila 4.
  • In a sezione SELECT, sceglite u ramu di sensori chì vulete monitorà; in questu casu sceglite "field(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy)."
  • Assicuratevi chì u FORMAT hè "serie temporale" è nome u graficu in a sezione ALIAS.

Pudete coglie dati per parechje interfacce nantu à u stessu graficu cum'è vistu in Figura 17 per et-0/0/0, et-0/0/1, et-0/0/2 etc.

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - Graphs3

PFC è ECN significanu derivati
Juniper NETWORKS Telemetry In Junos per AI ML Workloads Software - derivatu

Per truvà a derivativa media (a diffarenza di u valore in un intervallu di tempu), utilizate u modu di quistione prima.
Questa hè a query influx chì avemu usatu per truvà a derivativa media trà dui valori PFC nantu à et-0/0/0 di Spine-1 in un sec.
SELECT derivative (mean ("/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts"), 1s) FROM "interface" WHERE ("dispositiu"::tag = 'Spine-1') AND $timeFilter GROUP BY time($interval)

Telemetria di Juniper NETWORKS in Junos per u software AI ML Workloads - In modu simile per ECN

SELECT derivative (mean ("/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts"), 1s) FROM "interface" WHERE ("dispositiu"::tag = 'Spine-1') AND $timeFilter GROUP BY time($interval)

Telemetria di Juniper NETWORKS In Junos per u Software AI ML Workloads - In modu simile per ECN1

L'errori di risorse di input significanu derivati

Telemetria di Juniper NETWORKS In Junos per u Software AI ML Workloads - In modu simile per ECN2

A dumanda cruda per l'errori di risorsa significa derivativa hè:
SELECT derivate (mean ("/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors"), 1s) FROM "interface" WHERE ("dispositiu"::tag = 'Spine-1') AND $timeFilter GROUP BY time($interval)

Telemetria di Juniper NETWORKS In Junos per u Software AI ML Workloads - In modu simile per ECN3

Tail drops significa derivati

Telemetria di Juniper NETWORKS In Junos per u Software AI ML Workloads - In modu simile per ECN4

A query bruta per a tail drops significa derivata hè:
SELECT derivate (mean ("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s) FROM "buffer" WHERE ("dispositiu"::tag = 'Leaf-1' AND "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' AND "/cos/interfaces/interface/queues/queue/@queue"::tag = '4') AND $timeFilter GROUP BY time($__interval) fill(null)
 Utilizazione di CPU

Juniper NETWORKS Telemetry In Junos per AI ML Workloads Software - Utilizazione di CPU

  • Selezziunà a fonte di dati cum'è test-1.
  • In a sezione FROM, selezziunate a misurazione cum'è "newcpu"
  • In u WHERE, ci sò trè campi da riempie. Sceglie u dispusitivu:tag è in u tag valore selezziunà u hostname di u switch (ie spine-1). AND in / cumpunenti / cumpunenti / pruprietà / pruprietà / nome:tag, è selezziunate cpuutilization-total AND in name::tag sceglite RE0.
  • In a sezione SELECT, sceglite u ramu di sensori chì vulete monitorà. In questu casu, sceglite "campu (statu / valore)".

Telemetria di Juniper NETWORKS In Junos per u Software AI ML Workloads - Utilizzo di CPU1

A dumanda cruda per truvà a derivativa non negativa di tail drops per multiple switches in multiple interfaces in bits/sec.
SELECT non_negative_derivative (mean ("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s) * 8 FROM "buffer" WHERE (dispositivu::tag =~ /^Spine-[1-2]$/) è ("/cos/interfaces/interface/@name"::tag =~ /et-0\/0\/[0-9]/ o "/cos/interfaces/interface/@name"::tag=~/et-0\/0\/1[0-5]/) AND $timeFilter GROUP BY time($__interval), device::tag piena (nulla)

Telemetria di Juniper NETWORKS In Junos per u Software AI ML Workloads - Utilizzo di CPU2

Questi eranu alcuni di l'example di i grafici chì ponu esse creati per monitorà una reta AI / ML.

Riassuntu

Stu documentu illustra u metudu di tirà e dati di telemetria è di visualizà cù a creazione di grafici. Stu documentu specificamente parla di sensori AI / ML, sia nativi sia openconfig, ma a cunfigurazione pò esse aduprata per ogni tipu di sensori. Avemu ancu inclusu suluzioni per parechje prublemi chì pudete affruntà mentre creanu a configurazione. I passi è i risultati illustrati in questu documentu sò specifichi à e versioni di a pila TIG citata prima. Hè sottumessu à cambià sicondu a versione di u software, i sensori è a versione Junos.

Referenze

Juniper Yang Data Model Explorer per tutte l'opzioni di sensori
https://apps.juniper.net/ydm-explorer/
Forum Openconfig per i sensori openconfig
https://www.openconfig.net/projects/models/

Telemetria di Juniper NETWORKS In Junos per u Software AI ML Workloads - icona

Sede di a Cumpagnia è di Vendita
Juniper Networks, Inc.
1133 Via di l'Innuvazione
Sunnyvale, CA 94089 USA
Téléphone : 888. JUNIPER (888.586.4737)
o +1.408.745.2000
Fax: +1.408.745.2100
www.juniper.net
Sede APAC è EMEA
Juniper Networks International BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amsterdam, Paesi Bassi
Telefono: +31.207.125.700
Fax: +31.207.125.701
Copyright 2023 Juniper Networks. Inc. Tutti i diritti riservati. Juniper Networks, u logu di Juniper Networks, Juniper, Junos è altri marchi sò marchi registrati di Juniper Networks. inc. è / o i so affiliati in i Stati Uniti è altri paesi. Altri nomi ponu esse marchi di i so rispettivi pruprietarii. Juniper Networks ùn assume micca a responsabilità per qualsiasi imprecisioni in stu documentu. Juniper Networks si riserva u dirittu di cambià. mudificà. trasferisce, o altrimenti rivisione sta publicazione senza avvisu.
Mandate feedback à: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml

Documenti / Risorse

Telemetria di Juniper NETWORKS In Junos per u software AI ML Workloads [pdfGuida di l'utente
Telemetria In Junos per u software AI ML Workloads, Junos per AI ML Workloads Software, AI ML Workloads Software, Workloads Software, Software

Referenze

Lascia un cumentu

U vostru indirizzu email ùn serà micca publicatu. I campi obbligatori sò marcati *