Telemetria Junos-en AI/ML lan-kargaretarako
Egilea: Shalini Mukherjee
Sarrera
AI kluster trafikoak galerarik gabeko sareak behar dituenez, errendimendu handiko eta latentzia txikiko sareak, AI sarearen elementu kritikoa monitorizazio-datuen bilketa da. Junos Telemetry-k errendimendu-adierazle nagusien jarraipen zehatza ahalbidetzen du, pilaketak kudeatzeko eta trafiko-karga orekatzeko atalaseak eta kontagailuak barne. gRPC saioek telemetria datuen streaming onartzen dute. gRPC kode irekiko eta errendimendu handiko esparru modernoa da, HTTP/2 garraioan eraikia. Jatorrizko noranzko biko transmisio-gaitasunak ahalbidetzen ditu eta metadatu pertsonalizatu malguak sartzen ditu eskaeraren goiburuetan. Telemetriaren hasierako urratsa zer datu bildu behar diren jakitea da. Ondoren, datu hauek hainbat formatutan aztertu ditzakegu. Datuak bildu ondoren, garrantzitsua da kontrolatzeko, erabakiak hartzeko eta eskaintzen den zerbitzua hobetzeko erraza den formatuan aurkeztea. Artikulu honetan, Telegraf, InfluxDB eta Grafana-k osatutako telemetria pila bat erabiltzen dugu. Telemetria pila honek push eredu bat erabiliz biltzen ditu datuak. Tire eredu tradizionalak baliabide asko erabiltzen dituzte, eskuzko esku-hartzea behar dute eta biltzen dituzten datuetan informazio hutsuneak izan ditzakete. Push ereduek muga horiek gainditzen dituzte datuak modu asinkronoan emanez. Datuak aberasten dituzte erabilerrazak erabiliz tags eta izenak. Datuak formatu irakurgarriago batean daudenean, datu-base batean gordetzen ditugu eta bistaratze interaktibo batean erabiltzen ditugu web sarea aztertzeko aplikazioa. Irudia. 1-ek erakusten digu pila hau nola diseinatu den datu-bilketa, biltegiratze eta bistaratzeko modu eraginkorrean, sareko gailuetatik datuak biltzailera bidaltzen dituztenetatik analisirako paneletan bistaratzen diren datuetaraino.
TIG pila
Ubuntu zerbitzari bat erabili dugu software guztia instalatzeko TIG pila barne.
Telegrafoa
Datuak biltzeko, Telegraf erabiltzen dugu 22.04.2 exekutatzen duen Ubuntu zerbitzari batean. Demo honetan exekutatzen den Telegraf bertsioa 1.28.5 da.
Telegraf plugin-en zerbitzari-agente bat da, metrikak biltzeko eta berri emateko. Prozesadorea erabiltzen du plugins datuak aberasteko eta normalizatzeko. Irteera plugins datu horiek hainbat datu biltegira bidaltzeko erabiltzen dira. Dokumentu honetan bi erabiltzen ditugu plugins: bata openconfig sentsoreetarako eta bestea Juniper jatorrizko sentsoreetarako.
InfluxDB
Datuak denbora serieko datu-base batean gordetzeko, InfluxDB erabiltzen dugu. Telegraf-eko irteerako pluginak InfluxDB-ra bidaltzen ditu datuak, eta horrek modu eraginkorrean gordetzen ditu. V1.8 erabiltzen ari gara, ez baitago CLIrik V2rako eta gehiagorako.
Grafana
Datu hauek ikusteko Grafana erabiltzen da. Grafanak datuak InfluxDBtik ateratzen ditu eta erabiltzaileei panel aberats eta interaktiboak sortzeko aukera ematen die. Hemen, 10.2.2 bertsioa exekutatzen ari gara.
Konfigurazioa Switchean
Pila hau ezartzeko, lehenik, switch-a konfiguratu behar dugu 2. Irudian erakusten den moduan. 50051 ataka erabili dugu. Hemen edozein ataka erabil daiteke. Hasi saioa QFX etengailuan eta gehitu konfigurazio hau.
Oharra: Konfigurazio hau laborategietarako/POCetarako da, pasahitza testu garbian transmititzen baita. Erabili SSL hori ekiditeko.
Ingurumena
Nginx
Hau beharrezkoa da Grafana ostatatuta dagoen ataka erakutsi ezin baduzu. Hurrengo urratsa Ubuntu zerbitzarian nginx instalatzea da, alderantzizko proxy agente gisa balio dezan. Nginx instalatuta dagoenean, gehitu 4. Irudian agertzen diren lerroak "lehenetsitako" fitxategira eta eraman fitxategia /etc/nginx-tik /etc/nginx/sites-enabled-era.
Ziurtatu suebakia nginx zerbitzurako sarbide osoa emateko egokituta dagoela 5. Irudian erakusten den moduan.
Behin nginx instalatuta eta beharrezko aldaketak eginda, Grafana atzitzeko gai izan beharko genuke web arakatzailea software guztia instalatuta dagoen Ubuntu zerbitzariaren IP helbidea erabiliz.
Grafanan akats txiki bat dago pasahitz lehenetsia berrezartzen uzten ez dizuna. Erabili urrats hauek arazo honekin topo egiten baduzu.
Grafanan pasahitza ezartzeko Ubuntu zerbitzarian egin beharreko urratsak:
- Joan /var/lib/grafana/grafana.db helbidera
- Instalatu sqllite3
o sudo apt install sqlite3 - Exekutatu komando hau zure terminalean
o sqlite3 grafana.db - Sqlite komando-gonbita irekitzen da; exekutatu kontsulta hau:
> ezabatu erabiltzailetik non login='admin' - Berrabiarazi grafana eta idatzi admin erabiltzaile-izen eta pasahitz gisa. Pasahitz berri bat eskatzen du.
Software guztia instalatuta dagoenean, sortu konfigurazio-fitxategia Telegraf-en, eta horrek etengailutik telemetria-datuak atera eta InfluxDBra bultzatuko ditu.
Openconfig Sensor Plugin
Ubuntu zerbitzarian, editatu /etc/telegraf/telegraf.conf fitxategia beharrezko guztia gehitzeko plugins eta sentsoreak. Openconfig sentsoreetarako, 6. irudian ageri den gNMI plugina erabiltzen dugu. Demoaren helburuetarako, gehitu ostalari-izena "spine1" gisa, gRPCrako erabiltzen den "50051" ataka-zenbakia, etengailuaren erabiltzaile-izena eta pasahitza eta zenbakia. segundoak hutsegite kasuan berriz markatzeko.
Harpidetza-ahapaldian, gehitu izen esklusibo bat, "cpu" sentsore jakin honetarako, sentsorearen bidea eta etengailutik datu hauek hartzeko denbora tartea. Gehitu plugins.gnmi eta inputs.gnmi.subscription irekita dauden konfigurazio-sentsore guztietarako. (6. irudia)
Native Sensor Plugin
Hau sentsore natiboetarako erabiltzen den Juniper telemetria interfazearen plugina da. Telegraf.conf fitxategi berean, gehitu jatorrizko sentsorearen plugina inputs.jti_openconfig_telemetry non eremuak openconfig-en ia berdinak diren. Erabili bezeroaren ID esklusibo bat sentsore bakoitzeko; hemen, “telegraf3” erabiltzen dugu. Hemen sentsore honetarako erabiltzen den izen bakarra "mem" da (7. irudia).
Azkenik, gehitu irteerako plugin bat outputs.influxdb sentsore-datu hauek InfluxDB-ra bidaltzeko. Hemen, datu-baseari "telegraf" izena ematen zaio erabiltzaile-izena "influx" gisa eta pasahitza "influxdb" (8. irudia).
Telegraf.conf fitxategia editatu ondoren, berrabiarazi telegraf zerbitzua. Orain, egiaztatu InfluxDB CLI-n sentsore esklusibo guztietarako neurketak sortzen diren ziurtatzeko. Idatzi "influx" InfluxDB CLIra sartzeko.
Irudian ikusten den bezala. 9, sartu influxDB gonbita eta erabili "telegraf" datu-basea. Sentsoreei emandako izen esklusibo guztiak neurketa gisa zerrendatzen dira.
Edozein neurketaren irteera ikusteko, telegraf fitxategia zuzena dela eta sentsorea funtzionatzen ari dela ziurtatzeko, erabili "hautatu * cpu mugatik 1" komandoa 10. Irudian erakusten den moduan.
Telegraf.conf fitxategian aldaketak egiten diren bakoitzean, ziurtatu InfluxDB gelditzen duzula, Telegraf berrabiarazi eta gero InfluxDB abiarazi.
Hasi saioa Grafana arakatzailetik eta sortu aginte-panelak datuak behar bezala biltzen direla ziurtatu ondoren.
Joan Konexioak> InfuxDB> Gehitu datu-iturburu berria.
- Eman izena datu-iturburu honi. Demo honetan "test-1" da.
- HTTP ahapaldiaren azpian, erabili Ubuntu zerbitzariaren IPa eta 8086 ataka.
- InfluxDB xehetasunetan, erabili datu-basearen izen bera, "telegraf", eta eman Ubuntu zerbitzariaren erabiltzaile-izena eta pasahitza.
- Sakatu Gorde eta probatu. Ziurtatu mezua ikusten duzula, "arrakastatsua".
- Datu-iturria behar bezala gehitu ondoren, joan Arbelak atalera eta egin klik Berria. Sor ditzagun AI/ML lan-kargarentzako ezinbestekoak diren aginte-panel batzuk editore moduan.
ExampSentsoreen grafikoak
Honakoak dira exampAI/ML sare bat kontrolatzeko ezinbestekoak diren kontagailu handi batzuen fitxategiak.
EhunekotagSarrerako interfaze baterako erabilera et-0/0/0 bizkarrezurra-1
- Hautatu datu-iturburua proba-1 gisa.
- FROM atalean, hautatu neurketa "interfazea" gisa. Hau da sentsore-bide honetarako erabiltzen den izen bakarra.
- NON atalean, hautatu gailua::tag, eta -n tag balioa, hautatu etengailuaren ostalari-izena, hau da, bizkarrezurra1.
- HAUTATU atalean, aukeratu kontrolatu nahi duzun sentsore-adarra; kasu honetan aukeratu “field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)”. Orain atal berean, egin klik "+"-n eta gehitu kalkulu matematiko hau (/50000000000 * 100). Funtsean ehunekoa kalkulatzen ari garatag400G interfazea erabiltzea.
- Ziurtatu FORMATOA "denbora-seriea" dela eta izendatu grafikoari ALIAS atalean.
Bufferen okupazio gailurra edozein ilaretarako
- Hautatu datu-iturburua proba-1 gisa.
- FROM atalean, hautatu neurketa "buffer" gisa.
- NON atalean, hiru eremu daude bete beharrekoak. Hautatu gailua::tag, eta -n tag balioa hautatu etengailuaren ostalari-izena (hau da, bizkarrezurra-1); ETA hautatu /cos/interfaces/interface/@name::tag eta hautatu interfazea (hau da, et- 0/0/0); ETA hautatu ilara ere, /cos/interfaces/interface/queues/queue/@queue::tag eta aukeratu 4. ilara zenbakia.
- HAUTATU atalean, aukeratu kontrolatu nahi duzun sentsore-adarra; Kasu honetan, aukeratu "field(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy)."
- Ziurtatu FORMATOA "denbora-seriea" dela eta izendatu grafikoari ALIAS atalean.
Hainbat interfazeren datuak bil ditzakezu grafiko berean 17. irudian ikusten den et-0/0/0, et-0/0/1, et-0/0/2 etab.
PFC eta ECN deribatua esan nahi dute
Batez besteko deribatua aurkitzeko (denbora-tarte bateko balio-aldea), erabili kontsulta modu gordina.
Hau da Spine-0-en et-0/0/1-n bi PFC balioen batez besteko deribatua segun batean aurkitzeko erabili dugun influx kontsulta.
HAUTATU deribatua (esangura ("/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts"), 1s) FROM "interfazea" NON ("gailua"::tag = 'Bizkarrezurra-1') ETA $timeFilter GROUP BY denbora ($tartea)
HAUTATU deribatua (esangura ("/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts"), 1s) FROM "interfazea" NON ("gailua"::tag = 'Bizkarrezurra-1') ETA $timeFilter GROUP BY denbora ($tartea)
Sarrerako baliabideen erroreek deribatua esan nahi dute
Baliabide-erroreen kontsulta gordinak esan nahi du deribatua:
HAUTATU deribatua (esangura ("/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors"), 1s) FROM "interfazea" NON ("gailua"::tag = 'Bizkarrezurra-1') ETA $timeFilter GROUP BY denbora ($tartea)
Isats-tantak deribatua esan nahi du
Isats-jauzien kontsulta gordinak esan nahi du deribatua:
HAUTATU deribatua(batez bestekoa ("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s) FROM "buffer" WHERE ("gailu"::tag = 'Hostoa-1' ETA "/cos/interfaces/interface/@izena"::tag = 'et-0/0/0' ETA "/cos/interfaces/interface/queues/queue/@queue"::tag = '4') ETA $timeFilter GROUP BY denbora ($__tartea) bete (null)
CPU erabilera
- Hautatu datu-iturburua proba-1 gisa.
- FROM atalean, hautatu neurketa "newcpu" gisa
- NON-ean, hiru eremu daude bete beharrekoak. Hautatu gailua::tag eta -n tag balioa hautatu etengailuaren ostalari-izena (adibidez, bizkarrezurra-1). ETA /components/component/properties/property/name-n:tag, eta hautatu cpuutilization-total AND izenean::tag hautatu RE0.
- HAUTATU atalean, aukeratu kontrolatu nahi duzun sentsore-adarra. Kasu honetan, aukeratu "eremua (egoera/balioa)".
Interfaze anitzetan etengailu anitzeko isatsen deribatu ez negatiboa aurkitzeko kontsulta gordina bit/seg-tan.
HAUTATU non_negative_derivative(batez bestekoa ("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s)*8 "Buffer"-tik NON (gailua::tag =~ /^Spine-[1-2]$/) eta ("/cos/interfaces/interface/@izena"::tag =~ /et-0\/0\/[0-9]/ edo "/cos/interfaces/interface/@name"::tag=~/et-0\/0\/1[0-5]/) ETA $timeFilter GROUP BY denbora($__tartea),gailua::tag bete (nulua)
Hauek izan ziren exampAI/ML sare bat monitorizatzeko sor daitezkeen grafikoen fitxategiak.
Laburpena
Artikulu honek telemetria-datuak ateratzeko eta grafikoak sortuz bistaratzeko metodoa erakusten du. Artikulu honek AI/ML sentsoreei buruz hitz egiten du, bai jatorrizkoak bai openconfig, baina konfigurazioa sentsore mota guztietarako erabil daiteke. Konfigurazioa sortzean izan ditzakezun arazo anitzeko irtenbideak ere sartu ditugu. Artikulu honetan azaltzen diren urratsak eta irteerak lehen aipatutako TIG pilaren bertsioetarako espezifikoak dira. Softwarearen, sentsoreen eta Junos bertsioaren arabera alda daiteke.
Erreferentziak
Juniper Yang Datu-ereduen esploratzailea sentsore-aukera guztietarako
https://apps.juniper.net/ydm-explorer/
Openconfig sentsoreentzako Openconfig foroa
https://www.openconfig.net/projects/models/
Egoitza Korporatiboa eta Salmenta
Juniper Networks, Inc.
1133 Berrikuntza Bidea
Sunnyvale, CA 94089 AEB
Telefonoa: 888. JUNIPER (888.586.4737)
edo +1.408.745.2000
Faxa: +1.408.745.2100
www.juniper.net
APAC eta EMEA egoitza nagusia
Juniper Networks International BV
Boeing etorbidea 240
1119 PZ Schiphol-Rijk
Amsterdam, Herbehereak
Telefonoa: +31.207.125.700
Faxa: +31.207.125.701
Copyright 2023 Juniper Networks. Inc. Eskubide guztiak erreserbatuta. Juniper Networks, Juniper Networks logotipoa, Juniper, Junos eta beste marka batzuk Juniper Networksen marka erregistratuak dira. inc. eta/edo bere afiliatuak Estatu Batuetan eta beste herrialde batzuetan. Beste izenak dagozkien jabeen marka komertzialak izan daitezke. Juniper Networks-ek ez du bere gain hartzen dokumentu honetako zehaztasunik ezaren erantzukizunik. Juniper Networks-ek aldatzeko eskubidea gordetzen du. aldatu. transferitu, edo bestela berrikusi argitalpen hau jakinarazi gabe.
Bidali iritzia hona: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml
Dokumentuak / Baliabideak
![]() |
Juniper NETWORKS Telemetria Junos-en AI ML Workloads Softwarerako [pdfErabiltzailearen gida Telemetria Junos-en AI ML Workloads Softwarerako, Junos for AI ML Workloads Softwarea, AI ML Workloads Softwarea, Workloads Softwarea, Softwarea |