Juniper NETWERKE- logoTelemetrie in Junos vir AI/ML-werkladings
Skrywer: Shalini Mukherjee

Inleiding

Aangesien KI-klusterverkeer verlieslose netwerke met hoë deurset en lae latensie vereis, is 'n kritieke element van die KI-netwerk die versameling van moniteringsdata. Junos Telemetry maak korrelmonitering van sleutelprestasie-aanwysers moontlik, insluitend drempels en tellers vir opeenhopingsbestuur en verkeerslasbalansering. gRPC-sessies ondersteun die stroom van telemetriedata. gRPC is 'n moderne, oopbron, hoë werkverrigting-raamwerk wat gebou is op HTTP/2-vervoer. Dit bemagtig inheemse tweerigtingstroomvermoëns en sluit buigsame pasgemaakte metadata in versoekopskrifte in. Die eerste stap in telemetrie is om te weet watter data ingesamel moet word. Ons kan dan hierdie data in verskeie formate ontleed. Sodra ons die data ingesamel het, is dit belangrik om dit in 'n formaat aan te bied wat maklik is om te monitor, besluite te neem en die diens wat aangebied word, te verbeter. In hierdie vraestel gebruik ons ​​'n telemetriestapel wat bestaan ​​uit Telegraf, InfluxDB en Grafana. Hierdie telemetriestapel versamel data met behulp van 'n stootmodel. Tradisionele trekmodelle is hulpbron-intensief, vereis handmatige ingryping, en kan inligtinggapings insluit in die data wat hulle versamel. Stootmodelle oorkom hierdie beperkings deur data asynchronies te lewer. Hulle verryk die data deur gebruikersvriendelik te gebruik tags en name. Sodra die data in 'n meer leesbare formaat is, stoor ons dit in 'n databasis en gebruik dit in 'n interaktiewe visualisering web aansoek om die netwerk te ontleed. Figuur. 1 wys ons hoe hierdie stapel ontwerp is vir doeltreffende data-insameling, berging en visualisering, van netwerktoestelle wat data na die versamelaar stoot tot die data wat op dashboards vir ontleding vertoon word.

Juniper NETWORKS Telemetrie In Junos vir AI ML Werkladings sagteware -

TIG-stapel

Ons het 'n Ubuntu-bediener gebruik om al die sagteware, insluitend die TIG-stapel, te installeer.

Telegraaf
Om data in te samel, gebruik ons ​​Telegraf op 'n Ubuntu-bediener met 22.04.2. Die Telegraf-weergawe wat in hierdie demo loop, is 1.28.5.
Telegraf is 'n plugin-gedrewe bedieneragent vir die insameling en verslagdoening van statistieke. Dit gebruik verwerker plugins om die data te verryk en te normaliseer. Die uitset plugins word gebruik om hierdie data na verskeie datawinkels te stuur. In hierdie dokument gebruik ons ​​twee plugins: een vir oopkonfigurasie-sensors en die ander vir Juniper-inheemse sensors.
InvloeiDB
Om die data in 'n tydreeksdatabasis te stoor, gebruik ons ​​InfluxDB. Die uitvoerinprop in Telegraf stuur die data na InfluxDB, wat dit op 'n hoogs doeltreffende manier stoor. Ons gebruik V1.8 aangesien daar geen CLI teenwoordig is vir V2 en hoër nie.
Grafana
Grafana word gebruik om hierdie data te visualiseer. Grafana haal die data uit InfluxDB en laat gebruikers toe om ryk en interaktiewe kontroleskerms te skep. Hier loop ons weergawe 10.2.2.

Konfigurasie op die skakelaar

Om hierdie stapel te implementeer, moet ons eers die skakelaar konfigureer soos in Figuur 2 getoon. Ons het poort 50051 gebruik. Enige poort kan hier gebruik word. Meld aan by die QFX-skakelaar en voeg die volgende konfigurasie by.

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Skakelaar

Let wel: Hierdie konfigurasie is vir laboratoriums/POC's aangesien die wagwoord in duidelike teks versend word. Gebruik SSL om dit te vermy.

Omgewing

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Omgewing

Nginx
Dit is nodig as jy nie die hawe waarop Grafana gehuisves word, kan blootstel nie. Die volgende stap is om nginx op die Ubuntu-bediener te installeer om as 'n omgekeerde instaanbediener te dien. Sodra nginx geïnstalleer is, voeg die lyne wat in Figuur 4 gewys word by die "verstek"-lêer en skuif die lêer van /etc/nginx na /etc/nginx/sites-enabled.

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx1

Maak seker dat die brandmuur aangepas is om volle toegang tot die nginx-diens te gee soos in Figuur 5 getoon.

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx2

Sodra nginx geïnstalleer is en die vereiste veranderinge aangebring is, behoort ons toegang tot Grafana te kan verkry vanaf 'n web blaaier deur die IP-adres van die Ubuntu-bediener te gebruik waar al die sagteware geïnstalleer is.
Daar is 'n klein fout in Grafana wat jou nie toelaat om die verstekwagwoord terug te stel nie. Gebruik hierdie stappe as jy hierdie probleem ondervind.
Stappe wat op die Ubuntu-bediener uitgevoer moet word om die wagwoord in Grafana in te stel:

  • Gaan na /var/lib/grafana/grafana.db
  • Installeer sqllite3
    o sudo apt installeer sqlite3
  • Voer hierdie opdrag op jou terminale uit
    o sqlite3 grafana.db
  •  Sqlite-opdragprompt word oopgemaak; voer die volgende navraag uit:
    >vee uit van gebruiker waar login='admin'
  • Herbegin grafana en tik admin as gebruikersnaam en wagwoord. Dit vra vir 'n nuwe wagwoord.

Sodra al die sagteware geïnstalleer is, skep die konfigurasielêer in Telegraf wat sal help om die telemetriedata van die skakelaar af te trek en dit na InfluxDB te druk.

Openconfig Sensor-inprop

Op die Ubuntu-bediener, wysig die /etc/telegraf/telegraf.conf-lêer om al die vereiste by te voeg plugins en sensors. Vir die oopkonfig-sensors gebruik ons ​​die gNMI-inprop wat in Figuur 6 getoon word. Vir demonstrasiedoeleindes, voeg die gasheernaam by as “spine1”, die poortnommer “50051” wat vir gRPC gebruik word, die gebruikersnaam en wagwoord van die skakelaar, en die nommer sekondes vir herbel in geval van mislukking.
Voeg in die intekeningstrofe 'n unieke naam, "cpu" vir hierdie spesifieke sensor, die sensorpad en die tydinterval vir die gryp van hierdie data van die skakelaar by. Voeg dieselfde plugin inputs.gnmi en inputs.gnmi.subscription by vir al die oop konfigurasiesensors. (Figuur 6)

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx3

Inheemse sensor-inprop

Dit is 'n Juniper-telemetrie-koppelvlak-inprop wat vir inheemse sensors gebruik word. In dieselfde telegraf.conf-lêer, voeg die inheemse sensor-inpropinvoere.jti_openconfig_telemetry by waar die velde amper dieselfde is as openconfig. Gebruik 'n unieke kliënt-ID vir elke sensor; hier gebruik ons ​​"telegraf3". Die unieke naam wat hier vir hierdie sensor gebruik word, is "mem" (Figuur 7).

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx4

Laastens, voeg 'n uitvoerinprop outputs.influxdb by om hierdie sensordata na InfluxDB te stuur. Hier word die databasis “telegraf” genoem met gebruikersnaam as “influx” en wagwoord “influxdb” (Figuur 8).

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx5

Sodra jy die telegraf.conf-lêer geredigeer het, herbegin die telegraf-diens. Kyk nou na die InfluxDB CLI om seker te maak of metings vir al die unieke sensors geskep is. Tik “influx” om die InfluxDB CLI in te voer.

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx6

Soos gesien in figuur. 9, voer die influxDB-prompt in en gebruik die databasis “telegraf”. Al die unieke name wat aan die sensors gegee word, word as metings gelys.
Om die uitset van enige meting te sien, net om seker te maak dat die telegraf-lêer korrek is en die sensor werk, gebruik die opdrag "kies * vanaf cpu-limiet 1" soos in Figuur 10 getoon.

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx7

Elke keer as veranderinge aan die telegraf.conf-lêer gemaak word, maak seker dat jy InfluxDB stop, Telegraf herbegin en dan InfluxDB begin.
Meld aan by Grafana vanaf die blaaier en skep dashboards nadat jy seker gemaak het dat die data korrek ingesamel word.
Gaan na Connections > InfuxDB > Voeg nuwe databron by.

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx8

  1. Gee 'n naam aan hierdie databron. In hierdie demo is dit "toets-1".
  2.  Onder die HTTP-strofe, gebruik die Ubuntu-bediener IP en 8086-poort.
    Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx9
  3. In die InfluxDB-besonderhede, gebruik dieselfde databasisnaam, "telegraf", en verskaf die gebruikersnaam en wagwoord van die Ubuntu-bediener.
  4. Klik op Stoor en toets. Maak seker dat jy die boodskap "suksesvol" sien.
    Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Nginx10
  5. Sodra die databron suksesvol bygevoeg is, gaan na Dashboards en klik Nuwe. Kom ons skep 'n paar dashboards wat noodsaaklik is vir AI/ML-werkladings in redigeermodus.

Examples Van Sensor Grafieke

Die volgende is examples van sommige groot tellers wat noodsaaklik is vir die monitering van 'n KI/ML-netwerk.
Percenttage gebruik vir 'n ingangskoppelvlak et-0/0/0 op ruggraat-1
Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Grafieke

  • Kies die databron as toets-1.
  • In die VANAF-afdeling, kies die meting as "koppelvlak". Dit is die unieke naam wat vir hierdie sensorpad gebruik word.
  • In die WAAR-afdeling, kies toestel::tag, en in die tag waarde, kies die gasheernaam van die skakelaar, dit wil sê, ruggraat1.
  • In die KIES-afdeling, kies die sensortak wat jy wil monitor; kies in hierdie geval "veld(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)". Klik nou in dieselfde afdeling op “+” en voeg hierdie berekeningswiskunde by (/50000000000 * 100). Ons bereken basies die persentasietage gebruik van 'n 400G-koppelvlak.
  • Maak seker dat die FORMAAT "tydreekse" is en noem die grafiek in die ALIAS-afdeling.

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Grafieke1Piek bufferbesetting vir enige tou

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Grafieke2

  • Kies die databron as toets-1.
  • In die VANAF-afdeling, kies die meting as "buffer".
  • In die WAAR-afdeling is daar drie velde om in te vul. Kies toestel::tag, en in die tag waarde kies die gasheernaam van die skakelaar (dws ruggraat-1); EN kies /cos/interfaces/interface/@name::tag en kies die koppelvlak (dws et- 0/0/0); EN kies ook die tou, /cos/interfaces/interface/queues/queue/@queue::tag en kies die tou nommer 4.
  • In die KIES-afdeling, kies die sensortak wat jy wil monitor; kies in hierdie geval "veld(/cos/interfaces/interface/queues/queue/PeakBuerOccupancy)."
  • Maak seker dat die FORMAAT "tydreekse" is en noem die grafiek in die ALIAS-afdeling.

Jy kan data vir veelvuldige koppelvlakke op dieselfde grafiek versamel soos gesien in Figuur 17 vir et-0/0/0, et-0/0/1, et-0/0/2 ens.

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - Grafieke3

PFC en ECN beteken afgeleide
Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - afgeleide

Om die gemiddelde afgeleide (die verskil in waarde binne 'n tydreeks) te vind, gebruik die rou navraagmodus.
Dit is die invloeinavraag wat ons gebruik het om die gemiddelde afgeleide tussen twee PFC-waardes op et-0/0/0 van Spine-1 in 'n sekonde te vind.
KIES afgeleide (gemiddeld(“/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) VANAF “koppelvlak” WAAR (“toestel”::tag = 'Spine-1') EN $timeFilter GROUP BY time($interval)

Juniper NETWORKS-telemetrie in Junos vir AI ML-werkladingssagteware - Net so vir ECN

KIES afgeleide(gemiddeld(“/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts”), 1s) VANAF “koppelvlak” WAAR (“toestel”::tag = 'Spine-1') EN $timeFilter GROUP BY time($interval)

Juniper NETWORKS-telemetrie in Junos vir AI ML-werkladingssagteware - Net so vir ECN1

Insethulpbronfoute beteken afgeleide

Juniper NETWORKS-telemetrie in Junos vir AI ML-werkladingssagteware - Net so vir ECN2

Die rou navraag vir hulpbronfoute beteken afgeleide is:
SELECT derivative(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors”), 1s) VANAF “koppelvlak” WAAR (“device”::tag = 'Spine-1') EN $timeFilter GROUP BY time($interval)

Juniper NETWORKS-telemetrie in Junos vir AI ML-werkladingssagteware - Net so vir ECN3

Stertdruppels beteken afgeleide

Juniper NETWORKS-telemetrie in Junos vir AI ML-werkladingssagteware - Net so vir ECN4

Die rou navraag vir stertdruppels beteken afgeleide is:
SELECT derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s) FROM “buffer” WHERE (“device”::tag = 'Blaar-1' EN "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' EN "/cos/interfaces/interface/queues/queue/@queue"::tag = '4') EN $timeFilter GROUP BY time($__interval) fill(nul)
 SVE gebruik

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings Sagteware - SVE gebruik

  • Kies die databron as toets-1.
  • In die FROM-afdeling, kies die meting as "newcpu"
  • In die WAAR is daar drie velde om te vul. Kies toestel::tag en in die tag waarde kies die gasheernaam van die skakelaar (dws ruggraat-1). EN in /components/component/properties/property/name:tag, en kies cpuutilization-totaal EN in naam::tag kies RE0.
  • In die KIES-afdeling, kies die sensortak wat jy wil monitor. Kies in hierdie geval "veld(toestand/waarde)".

Juniper NETWERKE-telemetrie in Junos vir AI ML-werkladingssagteware - SVE-gebruik1

Die rou navraag vir die vind van die nie-negatiewe afgeleide van stertval vir veelvuldige skakelaars op verskeie koppelvlakke in bisse/sek.
SELECT non_negative_derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s)*8 VANAF “buffer” WAAR (toestel::tag =~ /^Spine-[1-2]$/) en ("/cos/interfaces/interface/@name"::tag =~ /et-0\/0\/[0-9]/ of “/cos/interfaces/interface/@name”::tag=~/et-0\/0\/1[0-5]/) EN $timeFilter GROEP VIR tyd($__interval),toestel::tag vul (nul)

Juniper NETWERKE-telemetrie in Junos vir AI ML-werkladingssagteware - SVE-gebruik2

Dit was van die oudsamples van die grafieke wat geskep kan word vir die monitering van 'n KI/ML-netwerk.

Opsomming

Hierdie vraestel illustreer die metode om telemetriedata te trek en dit te visualiseer deur grafieke te skep. Hierdie vraestel praat spesifiek oor KI/ML-sensors, beide inheems en oopkonfigurasie, maar die opstelling kan vir alle soorte sensors gebruik word. Ons het ook oplossings ingesluit vir verskeie probleme waarmee u te kampe kan hê tydens die skep van die opstelling. Die stappe en uitsette wat in hierdie vraestel uitgebeeld word, is spesifiek vir die weergawes van die TIG-stapel wat vroeër genoem is. Dit is onderhewig aan verandering, afhangende van die weergawe van die sagteware, die sensors en die Junos-weergawe.

Verwysings

Juniper Yang Data Model Explorer vir alle sensoropsies
https://apps.juniper.net/ydm-explorer/
Openconfig-forum vir oopkonfig-sensors
https://www.openconfig.net/projects/models/

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware - ikoon

Korporatiewe en verkoopshoofkwartier
Juniper Networks, Inc.
1133 Innovation Way
Sunnyvale, CA 94089, Verenigde State van Amerika
Foon: 888. JUNIPER (888.586.4737)
of +1.408.745.2000
Faks: +1.408.745.2100
www.juniper.net
APAC en EMEA Hoofkwartier
Juniper Networks International BV
Boeinglaan 240
1119 PZ Schiphol-Rijk
Amsterdam, Nederland
Foon: +31.207.125.700
Faks: +31.207.125.701
Kopiereg 2023 Juniper Networks. Inc. Alle regte voorbehou. Juniper Networks, die Juniper Networks-logo, Juniper, Junos en ander handelsmerke is geregistreerde handelsmerke van Juniper Networks. inc. en/of sy affiliasies in die Verenigde State en ander lande. Ander name kan handelsmerke van hul onderskeie eienaars wees. Juniper Networks aanvaar geen verantwoordelikheid vir enige onakkuraathede in hierdie dokument nie. Juniper Networks behou die reg voor om te verander. wysig. oordra, of andersins hierdie publikasie sonder kennisgewing hersien.
Stuur terugvoer na: design-center-comments@juniper.net V1.0/240807/ejm5-telemetrie-junos-ai-ml

Dokumente / Hulpbronne

Juniper NETWERKE Telemetrie In Junos vir AI ML Werkladings sagteware [pdf] Gebruikersgids
Telemetrie in Junos vir AI ML-werkladingssagteware, Junos vir AI ML-werkladingssagteware, AI ML-werkladingssagteware, Werkladingssagteware, Sagteware

Verwysings

Los 'n opmerking

Jou e-posadres sal nie gepubliseer word nie. Vereiste velde is gemerk *