Juniper NETWORKS- logoTelemetry sa Junos para sa AI/ML Workloads
Awtor: Shalini Mukherjee

Pasiuna

Tungod kay ang AI cluster traffic nanginahanglan mga lossless network nga adunay taas nga throughput ug ubos nga latency, usa ka kritikal nga elemento sa AI network mao ang pagkolekta sa data sa pagmonitor. Gitugotan sa Junos Telemetry ang granular nga pag-monitor sa mga yawe nga indikasyon sa pasundayag, lakip ang mga threshold ug mga counter para sa pagdumala sa paghuot ug pagbalanse sa load sa trapiko. Gisuportahan sa mga sesyon sa gRPC ang streaming sa data sa telemetry. Ang gRPC usa ka moderno, open-source, taas nga performance framework nga gitukod sa HTTP/2 transport. Naghatag kini og gahum sa lumad nga bidirectional streaming nga kapabilidad ug naglakip sa flexible custom-metadata sa mga header sa hangyo. Ang una nga lakang sa telemetry mao ang pagkahibalo kung unsa nga datos ang kolektahon. Mahimo natong analisahon kini nga datos sa lainlaing mga pormat. Sa higayon nga makolekta na namo ang datos, importante nga ipresentar kini sa pormat nga sayon ​​bantayan, mohimo og mga desisyon ug mapaayo ang serbisyo nga gitanyag. Niini nga papel, migamit kami ug telemetry stack nga gilangkoban sa Telegraf, InfluxDB, ug Grafana. Kini nga telemetry stack nagkolekta og datos gamit ang push model. Ang tradisyonal nga mga modelo sa pagbitad kay resource-intensive, nagkinahanglan og manual intervention, ug mahimong maglakip sa mga kal-ang sa impormasyon sa datos nga ilang nakolekta. Ang mga modelo sa pagduso nakabuntog niini nga mga limitasyon pinaagi sa paghatud sa datos nga asynchronously. Gipauswag nila ang datos pinaagi sa paggamit sa user-friendly tags ug mga ngalan. Kung ang datos naa sa mas mabasa nga format, among gitipigan kini sa usa ka database ug gigamit kini sa usa ka interactive nga pagtan-aw web aplikasyon alang sa pag-analisar sa network. Hulagway. Gipakita kanato sa 1 kung giunsa kini nga stack gidisenyo alang sa episyente nga pagkolekta, pagtipig, ug pagtan-aw sa datos, gikan sa mga aparato sa network nga nagduso sa datos ngadto sa tigkolekta hangtod sa datos nga gipakita sa mga dashboard alang sa pagtuki.

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software -

TIG Stack

Gigamit namo ang Ubuntu server aron i-install ang tanang software lakip ang TIG stack.

Telegraph
Aron makolekta ang datos, gigamit namon ang Telegraf sa usa ka server sa Ubuntu nga nagpadagan sa 22.04.2. Ang bersyon sa Telegraf nga nagdagan niini nga demo mao ang 1.28.5.
Ang Telegraf usa ka ahente sa server nga gimaneho sa plugin alang sa pagkolekta ug pagreport sa mga sukatan. Gigamit niini ang processor plugins aron mapauswag ug ma-normalize ang datos. Ang output plugins gigamit aron ipadala kini nga datos sa lainlaing mga tindahan sa datos. Niini nga dokumento atong gigamit ang duha plugins: usa para sa openconfig sensor ug ang lain para sa Juniper native sensors.
InfluxDB
Aron matipigan ang datos sa usa ka database sa serye sa oras, among gigamit ang InfluxDB. Ang output plugin sa Telegraf nagpadala sa datos ngadto sa InfluxDB, nga nagtipig niini sa usa ka maayo kaayo nga paagi. Gigamit namo ang V1.8 kay walay CLI nga present para sa V2 ug pataas.
Grafana
Ang Grafana gigamit sa paghanduraw niini nga datos. Gikuha ni Grafana ang datos gikan sa InfluxDB ug gitugotan ang mga tiggamit sa paghimo og dato ug interactive nga mga dashboard. Dinhi, nagdagan kami nga bersyon 10.2.2.

Pag-configure sa Switch

Aron ma-implementar kini nga stack, kinahanglan una natong i-configure ang switch sama sa gipakita sa Figure 2. Gigamit namo ang port 50051. Ang bisan unsang port mahimong gamiton dinhi. Log in sa QFX switch ug idugang ang mosunod nga configuration.

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - Switch

Mubo nga sulat: Kini nga configuration kay para sa labs/POCs kay ang password gipasa sa tin-aw nga text. Gamita ang SSL aron malikayan kini.

Kalibutan

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - Environment

Nginx
Kinahanglan kini kung dili nimo mabutyag ang pantalan diin gi-host ang Grafana. Ang sunod nga lakang mao ang pag-instalar sa nginx sa Ubuntu server aron magsilbing reverse proxy agent. Sa higayon nga ma-install ang nginx, idugang ang mga linya nga gipakita sa Figure 4 sa "default" nga file ug ibalhin ang file gikan sa /etc/nginx ngadto sa /etc/nginx/sites-enabled.

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx1

Siguruha nga ang firewall gi-adjust aron mahatagan ang hingpit nga pag-access sa serbisyo sa nginx sama sa gipakita sa Figure 5.

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx2

Sa higayon nga ma-install ang nginx ug ang gikinahanglan nga mga pagbag-o gihimo, kinahanglan naton nga ma-access ang Grafana gikan sa a web browser pinaagi sa paggamit sa IP address sa Ubuntu server diin ang tanang software na-install.
Adunay gamay nga glitch sa Grafana nga wala magtugot kanimo nga i-reset ang default nga password. Gamita kini nga mga lakang kung makasugat ka niini nga isyu.
Mga lakang nga himuon sa Ubuntu server aron mabutang ang password sa Grafana:

  • Adto sa /var/lib/grafana/grafana.db
  • I-install ang sqlite3
    o sudo apt i-install ang sqlite3
  • Pagdalagan kini nga sugo sa imong terminal
    o sqlite3 grafana.db
  •  Gibuksan ang Sqlite command prompt; padagana ang mosunod nga pangutana:
    > kuhaa gikan sa user diin login = 'admin'
  • I-restart ang grafana ug i-type ang admin isip username ug password. Nag-aghat kini alang sa usa ka bag-ong password.

Kung ma-install na ang tanan nga software, paghimo og config file sa Telegraf nga makatabang sa pagbira sa data sa telemetry gikan sa switch ug iduso kini sa InfluxDB.

Openconfig Sensor Plugin

Sa Ubuntu server, usba ang /etc/telegraf/telegraf.conf file aron idugang ang tanang gikinahanglan plugins ug mga sensor. Para sa openconfig sensors, gigamit namo ang gNMI plugin nga gipakita sa Figure 6. Para sa demo purposes, idugang ang hostname isip "spine1", ang port number "50051" nga gigamit para sa gRPC, ang username ug password sa switch, ug ang numero. sa mga segundo alang sa pag-redial kung adunay kapakyasan.
Sa stanza sa suskrisyon, idugang ang usa ka talagsaon nga ngalan, "cpu" alang niining partikular nga sensor, ang agianan sa sensor, ug ang agwat sa oras sa pagkuha niini nga datos gikan sa switch. Idugang ang parehas nga plugin inputs.gnmi ug inputs.gnmi.subscription para sa tanang open config sensors. (Hulagway 6)

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx3

Lumad nga Sensor Plugin

Kini usa ka Juniper telemetry interface plugin nga gigamit alang sa lumad nga mga sensor. Sa parehas nga telegraf.conf file, idugang ang native sensor plugin inputs.jti_openconfig_telemetry diin ang mga field halos parehas sa openconfig. Paggamit usa ka talagsaon nga ID sa kliyente alang sa matag sensor; dinhi, atong gigamit ang "telegraf3". Ang talagsaon nga ngalan nga gigamit dinhi alang niini nga sensor mao ang "mem" (Figure 7).

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx4

Katapusan, pagdugang ug output plugin outputs.influxdb aron ipadala kini nga data sa sensor sa InfluxDB. Dinhi, ang database ginganlan og "telegraf" nga adunay username nga "influx" ug password "influxdb" (Figure 8).

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx5

Kung na-edit na nimo ang telegraf.conf file, i-restart ang serbisyo sa telegraf. Karon, susiha ang InfluxDB CLI aron masiguro kung ang mga pagsukod gihimo alang sa tanan nga talagsaon nga mga sensor. I-type ang "influx" aron makasulod sa InfluxDB CLI.

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx6

Ingon sa makita sa Figure. 9, isulod ang influxDB prompt ug gamita ang database nga "telegraf". Ang tanan nga talagsaon nga mga ngalan nga gihatag sa mga sensor gilista ingon mga sukod.
Aron makita ang output sa bisan unsa nga sukod, aron lang masiguro nga ang telegraf file husto ug ang sensor nagtrabaho, gamita ang command nga "pilia * gikan sa cpu limit 1" sama sa gipakita sa Figure 10.

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx7

Matag higayon nga himoon ang mga kausaban sa telegraf.conf file, siguroha nga ihunong ang InfluxDB, i-restart ang Telegraf, ug dayon sugdi ang InfluxDB.
Pag-log on sa Grafana gikan sa browser ug paghimo og mga dashboard human masiguro nga husto ang pagkolekta sa datos.
Adto sa Connections> InfuxDB> Add new data source.

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx8

  1. Hatagi ug ngalan kining tinubdan sa datos. Sa kini nga demo kini mao ang "test-1".
  2.  Ubos sa HTTP stanza, gamita ang Ubuntu server IP ug 8086 port.
    Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx9
  3. Sa mga detalye sa InfluxDB, gamita ang parehas nga ngalan sa database, "telegraf," ug ihatag ang username ug password sa Ubuntu server.
  4. I-klik ang Save & test. Siguroha nga imong makita ang mensahe, "malampuson".
    Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Nginx10
  5. Kung ang tinubdan sa datos malampuson nga nadugang, adto sa Dashboards ug i-klik ang Bag-o. Maghimo kita og pipila ka mga dashboard nga kinahanglanon alang sa AI/ML workloads sa editor mode.

Examples Sa Sensor Graphs

Ang mosunod mao ang exampsa pipila ka dagkong mga counter nga gikinahanglan sa pagmonitor sa AI/ML network.
Porsiyentotage paggamit alang sa usa ka ingress interface et-0/0/0 sa spine-1
Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - Mga Graph

  • Pilia ang tinubdan sa datos isip pagsulay-1.
  • Sa FROM nga seksyon, pilia ang pagsukod isip "interface". Kini ang talagsaon nga ngalan nga gigamit alang niini nga agianan sa sensor.
  • Sa ASA nga seksyon, pilia ang device::tag, ug sa tag bili, pilia ang hostname sa switch, nga mao, spine1.
  • Sa SELECT section, pilia ang sensor branch nga gusto nimong bantayan; sa niini nga kaso pilia ang "field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)". Karon sa parehas nga seksyon, i-klik ang "+" ug idugang kini nga kalkulasyon nga matematika (/50000000000 * 100). Sa panguna among gikalkula ang porsyentotage paggamit sa usa ka 400G interface.
  • Siguroa nga ang FORMAT kay "time-series," ug nganli ang graph sa seksyon nga ALIAS.

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - Mga Graph1Pinakataas nga buffer occupancy alang sa bisan unsang pila

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - Mga Graph2

  • Pilia ang tinubdan sa datos isip pagsulay-1.
  • Sa FROM nga seksyon, pilia ang sukod isip “buffer.”
  • Sa seksyon nga WHERE, adunay tulo ka mga field nga pun-an. Pilia ang aparato::tag, ug sa tag bili pilia ang hostname sa switch (ie spine-1); UG pilia ang /cos/interfaces/interface/@name::tag ug pilia ang interface (ie et- 0/0/0); UG pilia usab ang pila, /cos/interfaces/interface/queues/queue/@queue::tag ug pilia ang numero sa pila 4.
  • Sa SELECT section, pilia ang sensor branch nga gusto nimong bantayan; sa kini nga kaso pilia ang "field(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy)."
  • Siguroha nga ang FORMAT kay "time-series" ug nganli ang graph sa seksyon sa ALIAS.

Mahimo nimong kolektahon ang datos alang sa daghang mga interface sa parehas nga graph nga makita sa Figure 17 para sa et-0/0/0, et-0/0/1, et-0/0/2 ug uban pa.

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - Mga Graph3

Ang PFC ug ECN nagpasabot nga derivative
Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - derivative

Para sa pagpangita sa mean derivative (ang kalainan sa bili sulod sa usa ka time range), gamita ang hilaw nga query mode.
Kini ang influx nga pangutana nga among gigamit sa pagpangita sa mean derivative tali sa duha ka PFC values ​​sa et-0/0/0 sa Spine-1 sa usa ka segundo.
SELECT derivative(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) GIKAN sa “interface” DIIN (“device”::tag = 'Spine-1') UG $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - Susama alang sa ECN

SELECT derivative(mean(“/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts”), 1s) GIKAN sa “interface” DIIN (“device”::tag = 'Spine-1') UG $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Susama alang sa ECN1

Ang mga sayup sa input nga kapanguhaan nagpasabut nga gigikanan

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Susama alang sa ECN2

Ang hilaw nga pangutana alang sa mga sayup nga kapanguhaan nagpasabut nga gigikanan mao ang:
SELECT derivative(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors”), 1s) GIKAN sa “interface” DIIN (“device”::tag = 'Spine-1') UG $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Susama alang sa ECN3

Ang tail drops nagpasabot nga derivative

Juniper NETWORKS Telemetry Sa Junos alang sa AI ML Workloads Software - Susama alang sa ECN4

Ang hilaw nga pangutana alang sa tail drops mean derivative mao ang:
SELECT derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s) GIKAN sa “buffer” WHERE (“device”::tag = 'Leaf-1' UG "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' UG “/cos/interfaces/interface/queues/queue/@queue”::tag = '4') UG $timeFilter GROUP BY time($__interval) fill(null)
 Paggamit sa CPU

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - paggamit sa CPU

  • Pilia ang tinubdan sa datos isip pagsulay-1.
  • Sa FROM nga seksyon, pilia ang pagsukod isip "newcpu"
  • Sa WHERE, adunay tulo ka mga field nga pun-an. Pilia ang aparato::tag ug sa tag bili pilia ang hostname sa switch (ie spine-1). UG sa / component/component/properties/property/name:tag, ug pilia ang cpuutilization-total UG sa ngalan::tag pilia ang RE0.
  • Sa SELECT section, pilia ang sensor branch nga gusto nimong bantayan. Niini nga kaso, pilia ang "field(state/value)".

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - paggamit sa CPU1

Ang hilaw nga pangutana alang sa pagpangita sa dili negatibo nga gigikanan sa tail drops alang sa daghang mga switch sa daghang mga interface sa bits/sec.
PILI non_negative_derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s)*8 GIKAN sa “buffer” DIIN (device::tag =~ /^Spine-[1-2]$/) ug (“/cos/interfaces/interface/@name”::tag =~ /et-0\/0\/[0-9]/ o “/cos/interfaces/interface/@name”::tag=~/et-0\/0\/1[0-5]/) UG $timeFilter GROUP BY time($__interval),device::tag pun-a (null)

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - paggamit sa CPU2

Kini ang pipila sa mga exampgamay sa mga graph nga mabuhat para sa pagmonitor sa AI/ML network.

Summary

Kini nga papel naghulagway sa pamaagi sa pagbira sa telemetry data ug paghanduraw niini pinaagi sa paghimo og mga graph. Kini nga papel espesipikong naghisgot bahin sa AI/ML sensors, lumad ug openconfig apan ang setup mahimong magamit sa tanang matang sa sensor. Naglakip usab kami og mga solusyon alang sa daghang mga isyu nga mahimo nimong atubangon samtang nagmugna sa setup. Ang mga lakang ug mga output nga gihulagway niini nga papel espesipiko sa mga bersyon sa TIG stack nga gihisgutan sa sayo pa. Mahimo kini nga usbon depende sa bersyon sa software, mga sensor ug bersyon sa Junos.

Mga pakisayran

Juniper Yang Data Model Explorer alang sa tanan nga mga kapilian sa sensor
https://apps.juniper.net/ydm-explorer/
Openconfig forum para sa openconfig sensors
https://www.openconfig.net/projects/models/

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software - icon

Corporate ug Sales Headquarters
Juniper Networks, Inc.
1133 Paagi sa Kabag-ohan
Sunnyvale, CA 94089 USA
Telepono: 888. JUNIPER (888.586.4737)
o +1.408.745.2000
Fax: +1.408.745.2100
www.juniper.net
APAC ug EMEA Headquarters
Juniper Networks International BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amsterdam, Netherlands
Telepono: +31.207.125.700
Fax: +31.207.125.701
Copyright 2023 Juniper Networks. Inc. Ang mga katungod gigahin. Ang Juniper Networks, ang logo sa Juniper Networks, Juniper, Junos, ug uban pang mga marka sa pamatigayon kay mga rehistradong tatak sa Juniper Networks. inc. ug/o mga kaubanan niini sa Estados Unidos ug uban pang mga nasud. Ang ubang mga ngalan mahimong mga marka sa pamatigayon sa ilang tagsa-tagsa ka tag-iya. Ang Juniper Networks walay responsibilidad sa bisan unsang mga sayop niini nga dokumento. Ang Juniper Networks adunay katungod sa pagbag-o. usba. pagbalhin, o bag-ohon kini nga publikasyon nga walay pahibalo.
Ipadala ang feedback sa: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml

Mga Dokumento / Mga Kapanguhaan

Juniper NETWORKS Telemetry Sa Junos para sa AI ML Workloads Software [pdf] Giya sa Gumagamit
Telemetry Sa Junos para sa AI ML Workloads Software, Junos para sa AI ML Workloads Software, AI ML Workloads Software, Workloads Software, Software

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *