TORÊN Juniper- logoTelemetry di Junos de ji bo Karkerên AI / ML
Nivîskar: Shalini Mukherjee

Pêşkêş

Ji ber ku seyrûsefera komê ya AI-ê hewceyê torgilokên bê windahî yên bi rêgezek bilind û derengiya kêm e, hêmanek girîng a tora AI berhevkirina daneyên çavdêriyê ye. Junos Telemetry çavdêriya hûrgelî ya nîşangirên performansê yên sereke, di nav de bend û jimarvan ji bo rêveberiya qelebalix û hevsengkirina barkirina trafîkê pêk tîne. Danişînên gRPC piştgirî dide weşana daneyên telemetry. gRPC çarçoveyek nûjen, çavkaniya vekirî, performansa bilind e ku li ser veguheztina HTTP/2 hatî çêkirin. Ew kapasîteyên weşana dualî ya xwemalî hêz dike û di sernavên daxwaznameyê de metadaneyên xwerû yên maqûl vedigire. Pêngava destpêkê ya di telemetrî de ev e ku meriv zanibe ka kîjan dane têne berhev kirin. Dûv re em dikarin van daneyan di formên cihêreng de analîz bikin. Gava ku em daneyan berhev dikin, girîng e ku em wan bi rengekî ku çavdêrîkirin, biryargirtin û baştirkirina karûbarê ku tê pêşkêş kirin hêsan e pêşkêş bikin. Di vê gotarê de, em stûnek telemetrîyê ku ji Telegraf, InfluxDB, û Grafana pêk tê bikar tînin. Ev stûna telemetrîyê bi karanîna modelek pêvekê daneyan berhev dike. Modelên kişandina kevneşopî çavkaniyek zexm in, hewceyê destwerdana destan in, û dibe ku di daneyên ku ew berhev dikin de kêmasiyên agahdarî bihewînin. Modelên Push van sînoran bi radestkirina daneyan asynkron derbas dikin. Ew bi karanîna bikarhêner-heval daneyê dewlemend dikin tags û navan. Dema ku dane di formatek bêtir xwendinê de bin, em wê di databasek de hilînin û di dîmenek înteraktîf de bikar bînin web serîlêdana ji bo analîzkirina torê. Jimar. 1 nîşanî me dide ka ev stûn çawa ji bo berhevkirina daneya bikêr, hilanîn û dîtbarîkirinê hatî sêwirandin, ji cîhazên torê yên ku daneyan ber bi berhevkerê ve dikişînin heya daneyên ku li ser tabloyên ji bo analîzê têne xuyang kirin.

Juniper NETWORKS Telemetry In Junos ji bo Nermalava Karkerên AI ML -

TIG Stack

Me serverek Ubuntu bikar anî da ku hemî nermalavê tevî stoka TIG saz bike.

Têlxiraf
Ji bo berhevkirina daneyan, em Telegrafê li ser serverek Ubuntu ya ku 22.04.2-ê dixebite bikar tînin. Guhertoya Telegrafê ya ku di vê demoyê de tê xebitandin 1.28.5 e.
Telegraf ji bo berhevkirin û raporkirina metrîkan kargêrek serverek pêvekê ye. Ew pêvajoyê bikar tîne plugins ji bo dewlemendkirin û normalîzekirina daneyan. Derketin plugins ji bo şandina van daneyan ji firotgehên daneyên cihêreng re têne bikar anîn. Di vê belgeyê de em du bikar tînin plugins: yek ji bo senzorên openconfig û ya din ji bo senzorên xwecî Juniper.
InfluxDB
Ji bo hilanîna daneyan di databasek rêzika demê de, em InfluxDB bikar tînin. Pêveka derketinê ya di Telegrafê de daneyan ji InfluxDB re dişîne, ku wê bi rengek pir bikêr hilîne. Em V1.8 bikar tînin ji ber ku ji bo V2 û jor CLI tune.
Grafana
Grafana ji bo dîtina van daneyan tê bikar anîn. Grafana daneyan ji InfluxDB derdixe û dihêle bikarhêneran dashboardên dewlemend û înteraktîf biafirînin. Li vir, em guhertoya 10.2.2 dimeşînin.

Veavakirin Li Ser Switch

Ji bo cîbicîkirina vê stêkê, pêşî divê em guheztinê wekî ku di jimar 2 de tê xuyang kirin mîheng bikin. Me porta 50051 bikar aniye. Li vir her port dikare were bikar anîn. Têkeve guheztina QFX û veavakirina jêrîn lê zêde bikin.

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên Karkerên AI ML - Switch

Not: Ev veavakirin ji bo laboratîfan / POC-an e ji ber ku şîfre bi nivîsek zelal tê veguheztin. SSL bikar bînin ku ji vê yekê dûr bixin.

Dor

Juniper NETWORKS Telemetry In Junos for AI ML Workloads Software - Jîngeh

Nginx
Ger hûn nikaribin porta ku Grafana lê tê mêvandar kirin eşkere bikin ev hewce ye. Pêngava paşîn ev e ku hûn nginx-ê li ser servera Ubuntu saz bikin da ku wekî nûnerê proxy berevajî xizmet bike. Dema ku nginx hate saz kirin, rêzikên ku di Figure 4 de têne xuyang kirin li pelê "default" zêde bikin û pelê ji /etc/nginx veguherînin /etc/nginx/sites-enabled.

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx1

Piştrast bikin ku dîwarê dîwarê verastkirî ye ku bi tevahî gihîştina karûbarê nginx-ê wekî ku di Figure 5 de tê xuyang kirin.

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx2

Dema ku nginx hate saz kirin û guhertinên pêwîst têne çêkirin, divê em bikaribin ji a web gerok bi karanîna navnîşana IP-ya servera Ubuntu ya ku hemî nermalava lê hatî saz kirin bikar tîne.
Di Grafana de xeletiyek piçûk heye ku nahêle hûn şîfreya xwerû ji nû ve bikin. Heke hûn di vê pirsgirêkê de diçin van gavan bikar bînin.
Gavên ku li ser servera Ubuntu têne kirin da ku şîfreya li Grafana saz bikin:

  • Biçe /var/lib/grafana/grafana.db
  • Sqllite3 saz bikin
    o sudo apt sqlite3 saz bike
  • Vê fermanê li ser termînalê xwe bimeşînin
    o sqlite3 grafana.db
  •  Serlêdana fermana Sqlite vedibe; lêpirsîna jêrîn bimeşînin:
    > jêbirin ji bikarhênerê ku têketin='admin'
  • Grafana ji nû ve bidin destpêkirin û wekî navê bikarhêner û şîfreya admin binivîsin. Ew şîfreyek nû vedibêje.

Dema ku hemî nermalavê saz kirin, pelê vesazkirinê li Telegrafê biafirînin ku dê bibe alîkar ku daneya telemetrîyê ji guheztinê derxîne û bikişîne InfluxDB.

Plugina Sensorê ya Openconfig

Li ser servera Ubuntu, pelê /etc/telegraf/telegraf.conf biguherînin da ku hemî hewceyê lê zêde bikin. plugins û sensors. Ji bo sensorên konfig vekirî, em pêveka gNMI-yê ku di xêza 6-an de tê xuyang kirin bikar tînin. Ji bo armancên demo, navê mêvandarê wekî "spine1", jimareya portê "50051" ya ku ji bo gRPC tê bikar anîn, navê bikarhêner û şîfreya guhêrbar, û hejmar lê zêde bikin. saniyeyan ji bo vejandina di doza têkçûna.
Di stanza abonetiyê de, ji bo vê senzorê taybetî, rêça senzorê, û navberê dema girtina van daneyan ji guheztinê navek bêhempa, "cpu" lê zêde bikin. Heman pêveka inputs.gnmi û inputs.gnmi.subscription ji bo hemî senzorên veavakirina vekirî zêde bikin. (Şikil 6)

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx3

Plugin Sensor Native

Ev pêvekek pêveka têlefonê ya Juniper e ku ji bo senzorên xwecî tê bikar anîn. Di heman pelê telegraf.conf de, pêveka senzorê ya xwemal inputs.jti_openconfig_telemetry lê zêde bike ku qad hema hema wek openconfig. Nasnameyek xerîdar a yekta ji bo her sensor bikar bînin; Li vir, em "telegraf3" bikar tînin. Navê yekta ku li vir ji bo vê sensorê tê bikar anîn "mem" e (Wêne 7).

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx4

Di dawiyê de, pêvekek derketinê outputs.influxdb lê zêde bike da ku vê daneyên sensor ji InfluxDB re bişîne. Li vir, databasê bi navê "telegraf" bi navê bikarhêner wekî "inux" û şîfreya "inuxdb" tête navandin (Wêne 8).

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx5

Piştî ku we pelê telegraf.conf guherand, karûbarê telegrafê ji nû ve bidin destpêkirin. Naha, li InfluxDB CLI-ya kontrol bikin da ku pê ewle bibin ka pîvandin ji bo hemî senzorên bêhempa têne çêkirin. "inux" binivîsin da ku têkevin InfluxDB CLI.

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx6

Wekî ku di Figure de tê dîtin. 9, têkevin navgîniya influxDB û databasa "telegraf" bikar bînin. Hemî navên bêhempa yên ku ji sensoran re hatine dayîn wekî pîvan têne navnîş kirin.
Ji bo dîtina encamek yek pîvanê, tenê ji bo ku hûn pê ewle bibin ku pelê telegraf rast e û senzor dixebite, emrê "ji sînorê cpu 1 hilbijêrin *" wekî ku di Figure 10 de tê xuyang kirin bikar bînin.

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx7

Her gava ku di pelê telegraf.conf de guhertin têne kirin, pê ewle bin ku InfluxDB rawestînin, Telegraf ji nû ve bidin destpêkirin û dûv re InfluxDB dest pê bikin.
Ji gerokê têkevin Grafana û piştî ku pê ewle bin ku dane rast têne berhev kirin tabloyan biafirînin.
Biçe Girêdan> InfuxDB> Çavkaniya daneya nû lê zêde bike.

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx8

  1. Navekî bidin vê çavkaniya daneyê. Di vê demo de ew "test-1" ye.
  2.  Di bin risteya HTTP de, IP-ya servera Ubuntu û porta 8086 bikar bînin.
    Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx9
  3. Di hûrguliyên InfluxDB de, heman navê databasê, "telegraf" bikar bînin û navê bikarhêner û şîfreya servera Ubuntu peyda bikin.
  4. Bikirtînin Save & test. Piştrast bikin ku hûn peyamê, "serketî" dibînin.
    Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Nginx10
  5. Dema ku çavkaniya daneyê bi serfirazî hate zêdekirin, biçin Dashboards û Nû bikirtînin. Ka em di moda edîtorê de çend tabloyên ku ji bo barkêşên AI/ML-ê bingehîn in biafirînin.

Examples Of Graphs Sensor

Yên jêrîn examphin hejmarên sereke yên ku ji bo şopandina tora AI/ML-ê bingehîn in.
PercentagBikaranîna e ji bo navbeynkariya têketinê et-0/0/0 li ser spine-1
Juniper NETWORKS Telemetry In Junos bo AI ML Workloads Software - Graphics

  • Çavkaniya daneyê wekî test-1 hilbijêrin.
  • Di beşa FROM de, pîvanê wekî "navber" hilbijêrin. Ev navê yekta ye ku ji bo vê riya sensor tê bikar anîn.
  • Di beşa WHERE de, amûrê hilbijêrin:tag, û di tag nirx, navê mêvandarê guhêrbar hilbijêrin, ango spine1.
  • Di beşa SELECT de, şaxa sensorê ya ku hûn dixwazin bişopînin hilbijêrin; di vê rewşê de "field(/ interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)" hilbijêrin. Naha di heman beşê de, li ser "+" bikirtînin û vê matematîka hesabkirinê zêde bikin (/50000000000 * 100). Em di bingeh de ji sedî hesab dikintage bikaranîna têkiliyek 400G.
  • Piştrast bikin ku FORMAT "rêze-dem" e û di beşa ALIAS de grafîkê bi nav bikin.

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Graphs1Dagirtina tampon Peak ji bo her dorê

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Graphs2

  • Çavkaniya daneyê wekî test-1 hilbijêrin.
  • Di beşa FROM-ê de, pîvanê wekî "buffer" hilbijêrin.
  • Di beşa WHERE de, sê qad hene ku werin dagirtin. Amûrê hilbijêre::tag, û di tag nirx navê mêvandarê guhêrbar hilbijêrin (ango spine-1); Û /cos/navbera/navber/@name::tag û pêvekê hilbijêre (ango et- 0/0/0); Û rêzê jî hilbijêrin, /cos/navbera/interface/queues/queue/@queue::tag û hejmara dorê 4 hilbijêrin.
  • Di beşa SELECT de, şaxa sensorê ya ku hûn dixwazin bişopînin hilbijêrin; Di vê rewşê de "qada (/cos/navbera/navbeynkar/queues/queue/PeakBuerOccupancy) hilbijêre."
  • Piştrast bikin ku FORMAT "rêze-dem" e û di beşa ALIAS de grafîkê bi nav bikin.

Hûn dikarin daneyan ji bo gelek navbeynkaran li ser heman grafîkê berhev bikin ku di Figure 17 de ji bo et-0/0/0, et-0/0/1, et-0/0/2 hwd tê dîtin.

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - Graphs3

PFC û ECN tê wateya dereng
Juniper NETWORKS Telemetry In Junos bo AI ML Workloads Nermalava - jêder

Ji bo dîtina derava navîn (cudabûna nirxê di nav rêzek demê de), moda pirsa xav bikar bînin.
Ev pirsiyara ketina ku me bikar aniye da ku di nav saniyeyekê de nirxa navînî ya di navbera du nirxên PFC de li ser et-0/0/0 ya Spine-1 bibînin.
SELECT derivative(mean("/navbera/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts"), 1s) FROM "interface" WHERE ("device"::tag = 'Spine-1') Û $timeFilter GROUP BY Wext ($interval)

Juniper NETWORKS Telemetry In Junos bo AI ML Workloads Software - Bi heman awayî ji bo ECN

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

Juniper NETWORKS Telemetry In Junos ji bo Nermalava Karkerên AI ML - Bi heman rengî ji bo ECN1

Çewtiyên çavkaniyê yên têketinê tê wateya jêderkê

Juniper NETWORKS Telemetry In Junos ji bo Nermalava Karkerên AI ML - Bi heman rengî ji bo ECN2

Pirsa xav a ji bo xeletiyên çavkaniyê tê vê wateyê ku jêderk ev e:
SELECT derivative(mean("/navbera/navber[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors"), 1s) FROM "interface" WHERE ("device"::tag = 'Spine-1') Û $timeFilter GROUP BY Wext ($interval)

Juniper NETWORKS Telemetry In Junos ji bo Nermalava Karkerên AI ML - Bi heman rengî ji bo ECN3

Dilopên dûvikê tê wateya jêderkê

Juniper NETWORKS Telemetry In Junos ji bo Nermalava Karkerên AI ML - Bi heman rengî ji bo ECN4

Lêpirsîna xav a ji bo dilopên dûvikê tê wateya derivative ev e:
HILBIJÊRÎN(navgîn("/cos/navbera/navbera/doz/ dorê/tailDropBytes"), 1s) FROM "buer" WHERE ("device"::tag = 'Leaf-1' Û "/cos/navbera/interface/@name"::tag = 'et-0/0/0' Û "/cos/ navbeynkar / navbeynkar / dorên / dorê / @queue"::tag = '4') Û $timeFilter GROUP BY time($__navber) dagirtin(null)
 Bikaranîna CPU

Juniper NETWORKS Telemetry In Junos ji bo Nermalava Karkerên AI ML - Bikaranîna CPU

  • Çavkaniya daneyê wekî test-1 hilbijêrin.
  • Di beşa FROM de, pîvana wekî "newcpu" hilbijêrin
  • Li WHERE, sê zevî hene ku bêne dagirtin. Amûrê hilbijêre::tag û di tag nirx navê mêvandarê guhêrbar hilbijêrin (ango spine-1). Û di / pêkhate / pêkhate / taybetmendî / taybetmendî / nav:tag, û cpuutilization-total AND di nav de hilbijêrin:tag RE0 hilbijêre.
  • Di beşa SELECT de, şaxa sensorê ya ku hûn dixwazin bişopînin hilbijêrin. Di vê rewşê de, "qav (dewlet / nirx)" hilbijêrin.

Juniper NETWORKS Telemetry In Junos ji bo Nermalava Karkerên AI ML - Bikaranîna CPU1

Lêpirsîna xav a ji bo dîtina jêdera ne-neyînî ya dûvikê ji bo guheztinên pirjimar ên li ser gelek navbeynkaran di bit/saniyê de vedibe.
SELECT non_negative_derivative(mean("/cos/navbera/interface/queues/queue/tailDropBytes"), 1s)*8 FROM "buer" WHERE (cîhaz::tag =~ /^Spine-[1-2]$/) û ("/cos/interfaces/interface/@name"::tag =~ /et-0\/0\/[0-9]/ an jî "/cos/interfaces/interface/@name"::tag=~/et-0\/0\/1[0-5]/) Û $timeFilter GROUP BY dem ($__navber), cîhaz::tag dagirtin (null)

Juniper NETWORKS Telemetry In Junos ji bo Nermalava Karkerên AI ML - Bikaranîna CPU2

Ev hinek ji berê bûnampGrafikên ku dikarin ji bo şopandina tora AI/ML werin afirandin.

Berhevkirinî

Ev kaxez rêbaza kişandina daneyên telemetrîyê û dîtina wê bi çêkirina grafîkan nîşan dide. Ev kaxez bi taybetî li ser senzorên AI/ML, hem xwemalî û hem jî konfigurasyona vekirî diaxive, lê sazkirin dikare ji bo her cûre senzoran were bikar anîn. Me di heman demê de ji bo gelek pirsgirêkên ku hûn dikarin di dema afirandina sazkirinê de rû bi rû bimînin jî çareserî pêk anîne. Gavek û encamên ku di vê kaxezê de têne xuyang kirin ji guhertoyên stûna TIG-ê ku berê hatine behs kirin taybetî ne. Ew li gorî guhertoya nermalavê, senzor û guhertoya Junos ve girêdayî ye.

Çavkanî

Juniper Yang Data Model Explorer ji bo hemî vebijarkên sensor
https://apps.juniper.net/ydm-explorer/
Foruma Openconfig ji bo sensorên openconfig
https://www.openconfig.net/projects/models/

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML - îkon

Navenda Pargîdanî û Firotanê
Juniper Networks, Inc.
1133 Innovation Way
Sunnyvale, CA 94089 USA
Telefon: 888. JUNIPER (888.586.4737)
an +1.408.745.2000
Faks: +1.408.745.2100
www.juniper.net
Navenda APAC û EMEA
Juniper Networks Navneteweyî BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amsterdam, Hollanda
Telefon: +31.207.125.700
Faks: +31.207.125.701
Copyright 2023 Juniper Networks. Inc. Mafên hewayî parastî ne. Juniper Networks, logoya Juniper Networks, Juniper, Junos, û tîcarî yên din marqeyên qeydkirî yên Juniper Networks in. inc. û / an jî pargîdaniyên wê yên li Dewletên Yekbûyî û welatên din. Dibe ku navên din marqeyên xwediyên wan ên têkildar bin. Juniper Networks ti berpirsiyariyek ji bo xeletiyên di vê belgeyê de nagire ser xwe. Juniper Networks mafê guhertinê diparêze. gûhertin. veguhezînin, an wekî din vê weşanê bêyî agahdarkirinê guhezînin.
Nirxandin bişînin bo: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml

Belge / Çavkanî

Juniper NETWORKS Telemetry Di Junos de ji bo Nermalava Karkerên AI ML [pdf] Rehbera bikaranînê
Telemetry Di Junos de ji bo Nermalava Karkerên AI ML, Junos ji bo Nermalava Karkerên Karkerên AI ML, Nermalava Karkerên AI ML, Nermalava Karkeran, Nermalava

Çavkanî

Bihêle şîroveyek

Navnîşana e-nameya we nayê weşandin. Zeviyên pêwîst têne nîşankirin *