Telemetrija f'Junos għal AI/ML Workloads
Awtur: Shalini Mukherjee
Introduzzjoni
Peress li t-traffiku tal-clusters tal-AI jeħtieġ netwerks mingħajr telf b'rendiment għoli u latenza baxxa, element kritiku tan-netwerk tal-AI huwa l-ġbir tad-dejta tal-monitoraġġ. Junos Telemetry tippermetti monitoraġġ granulari tal-indikaturi ewlenin tal-prestazzjoni, inklużi limiti u counters għall-ġestjoni tal-konġestjoni u l-ibbilanċjar tat-tagħbija tat-traffiku. Is-sessjonijiet tal-gRPC jappoġġjaw l-istrimjar tad-dejta tat-telemetrija. gRPC huwa qafas modern, open source, ta 'prestazzjoni għolja li huwa mibni fuq it-trasport HTTP/2. Jagħti s-setgħa lill-kapaċitajiet ta' streaming bidirezzjonali indiġeni u jinkludi metadejta flessibbli apposta fl-intestaturi tar-rikjesti. Il-pass inizjali fit-telemetrija huwa li tkun taf liema data għandha tinġabar. Nistgħu mbagħad nanalizzaw din id-dejta f'diversi formati. Ladarba niġbru d-dejta, huwa importanti li nippreżentawha f'format li jkun faċli biex tissorvelja, tieħu deċiżjonijiet u ttejjeb is-servizz li qed jiġi offrut. F'dan id-dokument, nużaw munzell tat-telemetrija li jikkonsisti minn Telegraf, InfluxDB, u Grafana. Dan il-munzell tat-telemetrija jiġbor data billi juża mudell push. Il-mudelli tradizzjonali tal-ġibda huma intensivi fir-riżorsi, jeħtieġu intervent manwali, u jistgħu jinkludu lakuni fl-informazzjoni fid-dejta li jiġbru. Mudelli push jegħlbu dawn il-limitazzjonijiet billi jwasslu data b'mod asinkroniku. Huma jarrikkixxu d-dejta billi jużaw faċli għall-utent tags u l-ismijiet. Ladarba d-data tkun f'format aktar leġibbli, aħna naħżnuha f'database u nużawha f'viżwalizzazzjoni interattiva web applikazzjoni għall-analiżi tan-netwerk. Figura. 1 jurina kif dan il-munzell huwa ddisinjat għal ġbir, ħażna u viżwalizzazzjoni effiċjenti tad-dejta, minn apparati tan-netwerk li jimbuttaw id-dejta lill-kollettur sad-dejta li qed tintwera fuq dashboards għall-analiżi.
Munzell TIG
Aħna użajna server Ubuntu biex ninstallaw is-softwer kollu inkluż il-munzell TIG.
Telegraf
Biex niġbru d-dejta, nużaw Telegraf fuq server Ubuntu li jħaddem 22.04.2. Il-verżjoni Telegraf li qed taħdem f'din id-demo hija 1.28.5.
Telegraf huwa aġent tas-server immexxi minn plugin għall-ġbir u r-rappurtar tal-metriċi. Hija tuża proċessur plugins biex tarrikkixxi u jinnormalizza d-data. L-output plugins jintużaw biex tintbagħat din id-dejta lil diversi ħwienet tad-dejta. F'dan id-dokument nużaw tnejn plugins: wieħed għal sensuri openconfig u l-ieħor għal sensuri nattivi Juniper.
InfluxDB
Biex naħżnu d-dejta f’database ta’ serje ta’ żmien, nużaw InfluxDB. Il-plugin tal-output f'Telegraf jibgħat id-dejta lil InfluxDB, li jaħżenha b'mod effiċjenti ħafna. Qed nużaw V1.8 peress li m'hemm l-ebda CLI preżenti għal V2 u aktar.
Grafana
Grafana jintuża biex jivviżwalizza din id-dejta. Grafana jiġbed id-dejta minn InfluxDB u jippermetti lill-utenti joħolqu dashboards sinjuri u interattivi. Hawnhekk, qed inħaddmu l-verżjoni 10.2.2.
Konfigurazzjoni Fuq Is-Swiċċ
Biex nimplimentaw dan il-munzell, l-ewwel irridu nikkonfiguraw is-swiċċ kif muri fil-Figura 2. Użajna l-port 50051. Kull port jista' jintuża hawn. Idħol fis-swiċċ QFX u żid il-konfigurazzjoni li ġejja.
Nota: Din il-konfigurazzjoni hija għal laboratorji/POCs peress li l-password tiġi trażmessa f'test ċar. Uża SSL biex tevita dan.
Ambjent
Nginx
Dan huwa meħtieġ jekk ma tkunx tista' tesponi l-port li fih hija ospitata Grafana. Il-pass li jmiss huwa li tinstalla nginx fuq is-server Ubuntu biex iservi bħala aġent reverse proxy. Ladarba nginx jiġi installat, żid il-linji murija fil-Figura 4 mal-fajl "default" u ċċaqlaq il-fajl minn /etc/nginx għal /etc/nginx/sites-enabled.
Kun żgur li l-firewall huwa aġġustat biex jagħti aċċess sħiħ għas-servizz nginx kif muri fil-Figura 5.
Ladarba nginx jiġi installat u jsiru l-bidliet meħtieġa, għandna nkunu nistgħu naċċessaw Grafana minn a web browser billi tuża l-indirizz IP tas-server Ubuntu fejn huwa installat is-softwer kollu.
Hemm glitch żgħir fi Grafana li ma jħallikx tirrisettja l-password default. Uża dawn il-passi jekk tiffaċċja din il-kwistjoni.
Passi li għandhom jitwettqu fuq is-server Ubuntu biex tissettja l-password f'Grafana:
- Mur fuq /var/lib/grafana/grafana.db
- Installa sqllite3
o sudo apt install sqlite3 - Mexxi dan il-kmand fuq it-terminal tiegħek
o sqlite3 grafana.db - Sqlite kmand prompt jiftaħ; mexxi l-mistoqsija li ġejja:
> ħassar mill-utent fejn login='admin' - Ibda mill-ġdid grafana u ikteb admin bħala username u password. Huwa jitlob għal password ġdida.
Ladarba s-softwer kollu jiġi installat, oħloq il-fajl tal-konfigurazzjoni f'Telegraf li jgħin biex tiġbed id-dejta tat-telemetrija mill-iswiċċ u timbottaha għal InfluxDB.
Openconfig Sensor Plugin
Fuq is-server Ubuntu, editja l-fajl /etc/telegraf/telegraf.conf biex iżżid dak kollu meħtieġ plugins u sensuri. Għas-sensors openconfig, nużaw il-plugin gNMI muri fil-Figura 6. Għal skopijiet demo, żid l-isem tal-host bħala "spine1", in-numru tal-port "50051" li jintuża għall-gRPC, l-isem tal-utent u l-password tal-iswiċċ, u n-numru. ta' sekondi għal sejħa mill-ġdid f'każ ta' falliment.
Fl-istrofa ta 'l-abbonament, żid isem uniku, "cpu" għal dan is-sensor partikolari, il-mogħdija tas-sensorju, u l-intervall ta' ħin biex taqbad din id-dejta mill-iswiċċ. Żid l-istess plugin inputs.gnmi u inputs.gnmi.subscription għas-sensors tal-konfigurazzjoni miftuħa kollha. (Figura 6)
Plugin tas-Sensor Nattiv
Dan huwa plugin tal-interface tat-telemetrija Juniper użat għal sensuri indiġeni. Fl-istess fajl telegraf.conf, żid il-plugin tas-sensor nattiv inputs.jti_openconfig_telemetry fejn il-fields huma kważi l-istess bħal openconfig. Uża ID unika tal-klijent għal kull sensor; hawnhekk, nużaw "telegraf3". L-isem uniku użat hawn għal dan is-sensor huwa "mem" (Figura 7).
Fl-aħħar nett, żid plugin output outputs.influxdb biex tibgħat din id-dejta tas-sensorju lil InfluxDB. Hawnhekk, id-database tissejjaħ “telegraf” bl-isem tal-utent bħala “influx” u l-password “influxdb” (Figura 8).
Ladarba tkun editjt il-fajl telegraf.conf, ibda mill-ġdid is-servizz telegraf. Issa, iċċekkja fl-InfluxDB CLI biex tiżgura jekk il-kejl jinħoloqx għas-sensuri uniċi kollha. Ittajpja “influx” biex tidħol fl-InfluxDB CLI.
Kif jidher fil-Figura. 9, daħħal il-pront influxDB u uża d-database "telegraf". L-ismijiet uniċi kollha mogħtija lis-sensuri huma elenkati bħala kejl.
Biex tara l-output ta 'kwalunkwe kejl wieħed, biss biex tiżgura li l-fajl tat-telegraf huwa korrett u s-sensor qed jaħdem, uża l-kmand "agħżel * mil-limitu tal-cpu 1" kif muri fil-Figura 10.
Kull darba li jsiru bidliet fil-fajl telegraf.conf, kun żgur li twaqqaf InfluxDB, terġa' tibda Telegraf, u mbagħad ibda InfluxDB.
Idħol fuq Grafana mill-browser u oħloq dashboards wara li tiżgura li d-dejta qed tinġabar b'mod korrett.
Mur f'Konnessjonijiet > InfuxDB > Żid sors ta 'dejta ġdid.
- Agħti isem lil dan is-sors tad-dejta. F'din id-demo huwa "test-1".
- Taħt l-istrofa HTTP, uża l-IP tas-server Ubuntu u l-port 8086.
- Fid-dettalji tal-InfluxDB, uża l-istess isem tad-database, "telegraf", u agħti l-username u l-password tas-server Ubuntu.
- Ikklikkja Save & test. Kun żgur li tara l-messaġġ, "suċċess".
- Ladarba s-sors tad-dejta jiġi miżjud b'suċċess, mur Dashboards u kklikkja Ġdid. Ejjew noħolqu ftit dashboards li huma essenzjali għall-tagħbija tax-xogħol AI/ML fil-modalità editur.
Examples Tal-Grafiki tas-Sensor
Dawn li ġejjin huma example ta' xi counters ewlenin li huma essenzjali għall-monitoraġġ ta' netwerk AI/ML.
Perċenswalitage utilizzazzjoni għal interface ta 'dħul et-0/0/0 fuq is-sinsla-1
- Agħżel is-sors tad-dejta bħala test-1.
- Fit-taqsima MINN, agħżel il-kejl bħala "interface". Dan huwa l-isem uniku użat għal din il-mogħdija tas-sensorju.
- Fit-taqsima FEJN, agħżel apparat::tag, u fil- tag valur, agħżel l-hostname tal-iswiċċ, jiġifieri spine1.
- Fit-taqsima AGĦŻEL, agħżel il-fergħa tas-sensorju li trid tissorvelja; f'dan il-każ agħżel “field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)”. Issa fl-istess taqsima, ikklikkja fuq "+" u żid din il-matematika tal-kalkolu (/50000000000 * 100). Bażikament qed nikkalkulaw il-perċentwalitage utilizzazzjoni ta 'interface 400G.
- Kun żgur li l-FORMAT huwa "serje ta' żmien", u semmi l-grafika fit-taqsima ALIAS.
L-ogħla okkupazzjoni tal-buffer għal kwalunkwe kju
- Agħżel is-sors tad-dejta bħala test-1.
- Fit-taqsima MINN, agħżel il-kejl bħala "buffer."
- Fit-taqsima FEJN, hemm tliet oqsma biex timla. Agħżel l-apparat::tag, u fil- tag valur agħżel l-hostname tal-iswiċċ (jiġifieri spine-1); U agħżel /cos/interfaces/interface/@name::tag u agħżel l-interface (jiġifieri et- 0/0/0); U agħżel il-kju wkoll, /cos/interfaces/interface/queues/queue/@queue::tag u agħżel in-numru tal-kju 4.
- Fit-taqsima AGĦŻEL, agħżel il-fergħa tas-sensorju li trid tissorvelja; f’dan il-każ agħżel “field(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy).”
- Kun żgur li l-FORMAT huwa "serje ta' żmien" u semmi l-grafika fit-taqsima ALIAS.
Tista' tiġbor id-dejta għal interfaces multipli fuq l-istess graff kif jidher fil-Figura 17 għal et-0/0/0, et-0/0/1, et-0/0/2 eċċ.
PFC u ECN ifissru derivattiv
Biex issib id-derivattiv medju (id-differenza fil-valur f'medda ta' żmien), uża l-modalità ta' mistoqsija mhux maħduma.
Din hija l-mistoqsija tal-influx li użajna biex insibu d-derivattiva medja bejn żewġ valuri PFC fuq et-0/0/0 ta' Spine-1 f'sec.
AGĦŻEL derivattiv(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) MINN “interface” FEJN (“apparat”::tag = 'Spina-1') U $timeFiltru GRUPP MINN ħin ($intervall)
SELECT derivative(mean ("/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts"), 1s) MINN "interface" FEJN ("apparat"::tag = 'Spina-1') U $timeFiltru GRUPP MINN ħin ($intervall)
L-iżbalji tar-riżorsi tad-dħul ifissru derivattiv
Il-mistoqsija mhux ipproċessata għall-iżbalji tar-riżorsi d-derivattiva tal-medja hija:
AGĦŻEL derivattiv(mean ("/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors"), 1s) MINN "interface" FEJN ("apparat"::tag = 'Spina-1') U $timeFiltru GRUPP MINN ħin ($intervall)
Qtar tad-denb ifisser derivattiv
Il-mistoqsija mhux ipproċessata għad-derivattiv medju tal-qtar tad-denb hija:
AGĦŻEL derivattiv(mean ("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s) MINN "buffer" FEJN ("apparat"::tag = 'Leaf-1' U “/cos/interfaces/interface/@name”::tag = 'et-0/0/0' U “/cos/interfaces/interface/queues/queue/@queue”::tag = '4') U $timeFiltru GRUPP MINN ħin ($__intervall) imla (null)
L-użu tas-CPU
- Agħżel is-sors tad-dejta bħala test-1.
- Fit-taqsima MINN, agħżel il-kejl bħala "newcpu"
- F'FEJN, hemm tliet oqsma biex timla. Agħżel l-apparat::tag u fil- tag valur agħżel l-hostname tal-iswiċċ (jiġifieri spine-1). U fi /komponenti/komponent/propjetajiet/propjetà/isem:tag, u agħżel cpuutilization-total AND fl-isem::tag agħżel RE0.
- Fit-taqsima AGĦŻEL, agħżel il-fergħa tas-sensorju li trid tissorvelja. F'dan il-każ, agħżel "field(state/value)".
Il-mistoqsija mhux maħduma biex tinstab id-derivattiv mhux negattiv tad-denb tinżel għal swiċċijiet multipli fuq interfaces multipli f'bits/sek.
AGĦŻEL non_negative_derivative(mean ("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s)*8 MINN “buffer” FEJN (apparat::tag =~ /^Spine-[1-2]$/) u ("/cos/interfaces/interface/@name"::tag =~ /et-0\/0\/[0-9]/ jew “/cos/interfaces/interface/@name”::tag=~/et-0\/0\/1[0-5]/) U $timeFilter GROUP BY time($__interval), apparat::tag imla (null)
Dawn kienu wħud mill-examples tal-grafiċi li jistgħu jinħolqu għall-monitoraġġ ta' netwerk AI/ML.
Sommarju
Dan id-dokument juri l-metodu ta 'ġbid tad-data tat-telemetrija u viżwalizzazzjoni tagħha billi toħloq graffs. Dan id-dokument jitkellem speċifikament dwar sensuri AI/ML, kemm nattivi kif ukoll openconfig iżda s-setup jista 'jintuża għal kull tip ta' sensuri. Inkludejna wkoll soluzzjonijiet għal kwistjonijiet multipli li tista' tiffaċċja waqt li toħloq is-setup. Il-passi u l-outputs murija f'dan id-dokument huma speċifiċi għall-verżjonijiet tal-munzell TIG imsemmija qabel. Huwa suġġett għal bidla skont il-verżjoni tas-softwer, is-sensors u l-verżjoni Junos.
Referenzi
Juniper Yang Data Model Explorer għall-għażliet kollha tas-sensuri
https://apps.juniper.net/ydm-explorer/
Forum Openconfig għal sensors openconfig
https://www.openconfig.net/projects/models/
Kwartieri Ġenerali Korporattivi u Bejgħ
Juniper Networks, Inc.
1133 Mod ta' Innovazzjoni
Sunnyvale, CA 94089 USA
Telefon: 888. ĠUNIPER (888.586.4737)
jew +1.408.745.2000
Fax: +1.408.745.2100
www.juniper.net
Kwartieri Ġenerali tal-APAC u tal-EMEA
Juniper Networks International BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amsterdam, l-Olanda
Telefon: +31.207.125.700
Fax: +31.207.125.701
Copyright 2023 Juniper Networks. Inc. Drittijiet kollha riżervati. Juniper Networks, il-logo Juniper Networks, Juniper, Junos, u trademarks oħra huma trademarks reġistrati ta’ Juniper Networks. inc. u/jew l-affiljati tagħha fl-Istati Uniti u pajjiżi oħra. Ismijiet oħra jistgħu jkunu trademarks tas-sidien rispettivi tagħhom. Juniper Networks ma jassumi l-ebda responsabbiltà għal xi ineżattezzi f'dan id-dokument. Juniper Networks jirriserva d-dritt li jibdel. timmodifika. tittrasferixxi, jew inkella tirrevedi din il-pubblikazzjoni mingħajr avviż.
Ibgħat feedback lil: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml
Dokumenti / Riżorsi
![]() |
Juniper NETWORKS Telemetrija F'Junos għal AI ML Workloads Software [pdfGwida għall-Utent Telemetrija F'Junos għal AI ML Workloads Software, Junos għal AI ML Workloads Software, AI ML Workloads Software, Workloads Software, Software |