Telemeetria Junoses AI/ML töökoormuste jaoks
Autor: Shalini Mukherjee
Sissejuhatus
Kuna AI klastri liiklus nõuab suure läbilaskevõime ja madala latentsusega kadudeta võrke, on tehisintellekti võrgu kriitiline element seireandmete kogumine. Junos Telemetry võimaldab üksikasjalikult jälgida peamisi jõudlusnäitajaid, sealhulgas ummikute haldamise ja liikluskoormuse tasakaalustamise lävesid ja loendureid. gRPC-seansid toetavad telemeetriaandmete voogesitust. gRPC on kaasaegne avatud lähtekoodiga suure jõudlusega raamistik, mis on üles ehitatud HTTP/2 transpordile. See annab võimaluse kahesuunalise voogesituse natiivseks kasutamiseks ja sisaldab taotluste päistesse paindlikke kohandatud metaandmeid. Telemeetria esimene samm on teada, milliseid andmeid kogutakse. Seejärel saame neid andmeid erinevates vormingutes analüüsida. Kui oleme andmed kogunud, on oluline esitada need vormingus, mida on lihtne jälgida, otsuseid teha ja pakutavat teenust täiustada. Selles artiklis kasutame telemeetriapakki, mis koosneb Telegrafist, InfluxDB-st ja Grafanast. See telemeetriapakk kogub andmeid tõukemudeli abil. Traditsioonilised tõmbemudelid on ressursimahukad, nõuavad käsitsi sekkumist ja võivad sisaldada teabelünki kogutavates andmetes. Tõukemudelid ületavad need piirangud, edastades andmeid asünkroonselt. Nad rikastavad andmeid, kasutades kasutajasõbralikku tags ja nimed. Kui andmed on loetavamas vormingus, salvestame need andmebaasi ja kasutame neid interaktiivses visualiseerimises web rakendus võrgu analüüsimiseks. Joonis. 1 näitab meile, kuidas see virn on loodud tõhusaks andmete kogumiseks, salvestamiseks ja visualiseerimiseks, alates võrguseadmetest, mis edastavad andmeid kogujale, kuni andmeteni, mis kuvatakse armatuurlaual analüüsimiseks.
TIG virn
Kasutasime kogu tarkvara, sealhulgas TIG-virna installimiseks Ubuntu serverit.
Telegraaf
Andmete kogumiseks kasutame Telegrafi Ubuntu serveris, mis töötab 22.04.2. Selles demos töötav Telegrafi versioon on 1.28.5.
Telegraf on pistikprogrammipõhine serveriagent mõõdikute kogumiseks ja aruandluseks. See kasutab protsessorit plugins andmete rikastamiseks ja normaliseerimiseks. Väljund plugins kasutatakse nende andmete saatmiseks erinevatesse andmesalvedesse. Selles dokumendis kasutame kahte plugins: üks openconfigi anduritele ja teine Juniperi algandurite jaoks.
InfluxDB
Andmete salvestamiseks aegridade andmebaasi kasutame InfluxDB-d. Telegrafi väljundplugin saadab andmed InfluxDB-sse, mis salvestab need väga tõhusalt. Kasutame versiooni 1.8, kuna V2 ja uuemate versioonide jaoks puudub CLI.
Grafana
Nende andmete visualiseerimiseks kasutatakse Grafanat. Grafana tõmbab andmed InfluxDB-st ja võimaldab kasutajatel luua rikkalikke ja interaktiivseid armatuurlaudu. Siin kasutame versiooni 10.2.2.
Seadistamine lülitil
Selle virna rakendamiseks peame esmalt konfigureerima lüliti, nagu on näidatud joonisel 2. Oleme kasutanud porti 50051. Siin saab kasutada mis tahes porti. Logige sisse QFX-lülitisse ja lisage järgmine konfiguratsioon.
Märkus. See konfiguratsioon on laborite/POC-de jaoks, kuna parool edastatakse selge tekstina. Selle vältimiseks kasutage SSL-i.
Keskkond
Nginx
Seda on vaja juhul, kui te ei saa avada porti, kus Grafana on hostitud. Järgmine samm on nginxi installimine Ubuntu serverisse, et see toimiks pöördpuhveragendina. Kui nginx on installitud, lisage joonisel 4 näidatud read "vaikefaili" ja teisaldage fail kaustast /etc/nginx kausta /etc/nginx/sites-enabled.
Veenduge, et tulemüür on reguleeritud nii, et see annaks täieliku juurdepääsu nginxi teenusele, nagu on näidatud joonisel 5.
Kui nginx on installitud ja vajalikud muudatused tehtud, peaksime saama Grafanale juurdepääsu aadressilt a web brauser, kasutades Ubuntu serveri IP-aadressi, kuhu kogu tarkvara on installitud.
Grafanas on väike tõrge, mis ei lase vaikeparooli lähtestada. Kui teil tekib see probleem, kasutage neid samme.
Grafanas parooli määramiseks Ubuntu serveris tehtavad toimingud:
- Avage /var/lib/grafana/grafana.db
- Installige sqllite3
o sudo apt install sqlite3 - Käivitage see käsk oma terminalis
o sqlite3 grafana.db - Sqlite käsuviip avaneb; käivitage järgmine päring:
>kustuta kasutajast kus login='admin' - Taaskäivitage grafana ja tippige kasutajanimeks ja parooliks admin. See küsib uut parooli.
Kui kogu tarkvara on installitud, looge Telegrafis konfiguratsioonifail, mis aitab tõmmata telemeetriaandmed lülitist ja lükata need InfluxDB-sse.
Openconfig Sensor Plugin
Ubuntu serveris redigeerige faili /etc/telegraf/telegraf.conf, et lisada kogu vajalik plugins ja andurid. Openconfigi andurite jaoks kasutame joonisel 6 näidatud gNMI pistikprogrammi. Demo jaoks lisage hostinimi kujul "spine1", pordi number "50051", mida kasutatakse gRPC jaoks, lüliti kasutajanimi ja parool ning number sekundit kordusvalimiseks tõrke korral.
Lisage liitumisloas selle konkreetse anduri kordumatu nimi, "cpu", anduri tee ja nende andmete lülitist haaramise ajavahemik. Lisage kõigile avatud konfiguratsioonianduritele sama pistikprogramm inputs.gnmi ja inputs.gnmi.subscription. (Joonis 6)
Native Sensor Plugin
See on Juniperi telemeetria liidese pistikprogramm, mida kasutatakse natiivsete andurite jaoks. Lisage samasse faili telegraf.conf loomulik anduri plugin inputs.jti_openconfig_telemetry, kus väljad on peaaegu samad, mis faili openconfig. Kasutage iga anduri jaoks ainulaadset kliendi ID-d; siin kasutame "telegraf3". Selle anduri unikaalne nimi on "mem" (joonis 7).
Lõpuks lisage anduriandmete InfluxDB-sse saatmiseks väljundplugin outputs.influxdb. Siin on andmebaasi nimeks "telegraf", kasutajanimeks "influx" ja parooliks "influxdb" (joonis 8).
Kui olete faili telegraf.conf redigeerinud, taaskäivitage telegrafi teenus. Nüüd kontrollige InfluxDB CLI-s, et veenduda, kas kõigi unikaalsete andurite jaoks on loodud mõõtmised. InfluxDB CLI sisestamiseks tippige "influx".
Nagu on näha joonisel. 9, sisestage influxDB viip ja kasutage andmebaasi "telegraf". Kõik anduritele antud unikaalsed nimed on loetletud mõõtmistena.
Ühe mõõtmise väljundi nägemiseks, veendumaks, et telegrafi fail on õige ja andur töötab, kasutage käsku "vali * alates protsessori piirangust 1", nagu on näidatud joonisel 10.
Iga kord, kui failis telegraf.conf muudatusi tehakse, peatage kindlasti InfluxDB, taaskäivitage Telegraf ja seejärel käivitage InfluxDB.
Logige brauserist Grafanasse sisse ja looge armatuurlauad pärast andmete korrektse kogumise kontrollimist.
Avage Ühendused > InfuxDB > Lisa uus andmeallikas.
- Andke sellele andmeallikale nimi. Selles demos on see "test-1".
- HTTP stroofis kasutage Ubuntu serveri IP-d ja 8086 porti.
- Kasutage InfluxDB üksikasjades sama andmebaasi nime "telegraf" ning sisestage Ubuntu serveri kasutajanimi ja parool.
- Klõpsake nuppu Salvesta ja testi. Veenduge, et näete teadet "edukas".
- Kui andmeallikas on edukalt lisatud, avage juhtpaneelid ja klõpsake nuppu Uus. Loome mõned armatuurlauad, mis on redaktorirežiimis AI/ML-i töökoormuse jaoks olulised.
Examples Of Sensor Graphs
Järgmised on exampmõned peamised loendurid, mis on AI/ML võrgu jälgimiseks hädavajalikud.
Protsenttage kasutamine sisendliidese et-0/0/0 jaoks selgrool-1
- Valige andmeallikaks test-1.
- Valige jaotises FROM mõõtmiseks "liides". See on selle anduri tee unikaalne nimi.
- Valige jaotises WHERE seade::tag, ja tag väärtus, valige lüliti hostinimi, st spine1.
- Valige jaotises SELECT sensori haru, mida soovite jälgida; sel juhul valige "field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)". Nüüd klõpsake samas jaotises "+" ja lisage see arvutusmatemaatika (/50000000000 * 100). Põhimõtteliselt arvutame protsentitage 400G liidese kasutamine.
- Veenduge, et FORMAT on "aegrida" ja nimetage graafik jaotises ALIAS.
Maksimaalne puhvri täituvus mis tahes järjekorra jaoks
- Valige andmeallikaks test-1.
- Jaotises FROM valige mõõtmiseks puhver.
- Jaotises KUS tuleb täita kolm välja. Valige seade::tag, ja tag väärtus vali lüliti hostinimi (st spine-1); JA vali /cos/interfaces/interface/@name::tag ja vali liides (st et- 0/0/0); JA vali ka järjekord, /cos/interfaces/interface/queues/queue/@queue::tag ja vali järjekorra number 4.
- Valige jaotises SELECT sensori haru, mida soovite jälgida; sel juhul valige "field(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy)."
- Veenduge, et FORMAT on "aegrida" ja nimetage graafik jaotises ALIAS.
Saate võrrelda mitme liidese andmeid samal graafikul, nagu on näidatud joonisel 17 et-0/0/0, et-0/0/1, et-0/0/2 jne jaoks.
PFC ja ECN tähendavad tuletist
Keskmise tuletise (väärtuse erinevus ajavahemikus) leidmiseks kasutage töötlemata päringu režiimi.
See on sissevoolu päring, mida oleme kasutanud keskmise tuletise leidmiseks Spine-0 et-0/0/1 kahe PFC väärtuse vahel sekundis.
SELECT tuletis(mean(“/liidesed/liides[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) FROM „liides” WHERE (“seade”::tag = 'Spine-1') JA $timeFilter GROUP BY aja järgi($intervall)
SELECT tuletis(mean(“/liidesed/liides[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts”), 1s) FROM „liides” WHERE (“seade”::tag = 'Spine-1') JA $timeFilter GROUP BY aja järgi($intervall)
Sisendressursi vead tähendavad tuletist
Toorpäring ressursivigade keskmise tuletise kohta on:
SELECT tuletis(mean(“/liidesed/liides[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors”), 1s) FROM „liides” WHERE (“seade”::tag = 'Spine-1') JA $timeFilter GROUP BY aja järgi($intervall)
Sabatilgad tähendavad tuletist
Toorpäring sabatilkade keskmise tuletise kohta on:
SELECT tuletis(keskmine(“/cos/liidesed/liides/järjekorrad/järjekord/tailDropBytes”), 1s) FROM “puhver” WHERE (“seade”::tag = 'Leaf-1' JA "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' JA "/cos/interfaces/interface/queues/queue/@queue"::tag = '4') JA $timeFilter GROUP BY aja järgi($__intervall) fill(null)
CPU kasutamine
- Valige andmeallikaks test-1.
- Valige jaotises FROM mõõtmiseks "uus protsessor"
- Väljas KUS tuleb täita kolm välja. Valige seade::tag ja sisse tag väärtus vali lüliti hostinimi (st spine-1). JA kaustas /components/component/properties/property/name:tagja valige nimes cpuutilization-total AND::tag valige RE0.
- Valige jaotises SELECT sensori haru, mida soovite jälgida. Sel juhul valige "väli(olek/väärtus)".
Toorpäring mitme liidese mitme lüliti sabalanguse mittenegatiivse tuletise leidmiseks bittidena sekundis.
SELECT non_negative_derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s)*8 FROM “buffer” WHERE (seade::tag =~ /^Spine-[1-2]$/) ja (“/cos/interfaces/interface/@name”::tag =~ /et-0\/0\/[0-9]/ või "/cos/interfaces/interface/@name"::tag=~/et-0\/0\/1[0-5]/) JA $timeFilter GROUP BY aja järgi($__intervall),seade::tag täitma (null)
Need olid mõned endisedampgraafikud, mida saab luua AI/ML võrgu jälgimiseks.
Kokkuvõte
See artikkel illustreerib telemeetriaandmete tõmbamise ja nende visualiseerimise meetodit graafikute loomise teel. See artikkel räägib konkreetselt AI/ML-anduritest, nii natiivsetest kui ka avatud konfiguratsioonist, kuid seadistust saab kasutada igasuguste andurite jaoks. Oleme lisanud ka lahendused mitmele probleemile, millega võite seadistuse loomisel kokku puutuda. Selles artiklis kujutatud sammud ja väljundid on spetsiifilised eelnevalt mainitud TIG-virna versioonidele. See võib muutuda olenevalt tarkvara versioonist, anduritest ja Junos versioonist.
Viited
Juniper Yang Data Model Explorer kõigi andurivalikute jaoks
https://apps.juniper.net/ydm-explorer/
Openconfigi foorum openconfig andurite jaoks
https://www.openconfig.net/projects/models/
Ettevõtte ja müügi peakorter
Juniper Networks, Inc.
1133 uuendustee
Sunnyvale, CA 94089 USA
Telefon: 888. KADAKAS (888.586.4737)
või +1.408.745.2000
Faks: +1.408.745.2100
www.juniper.net
APAC ja EMEA peakorter
Juniper Networks International BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amsterdam, Holland
Telefon: +31.207.125.700
Faks: +31.207.125.701
Autoriõigus 2023 Juniper Networks. Inc. Kõik õigused kaitstud. Juniper Networks, Juniper Networksi logo, Juniper, Junos ja muud kaubamärgid on Juniper Networksi registreeritud kaubamärgid. inc. ja/või selle sidusettevõtted Ameerika Ühendriikides ja teistes riikides. Teised nimed võivad olla nende vastavate omanike kaubamärgid. Juniper Networks ei vastuta selles dokumendis esinevate ebatäpsuste eest. Juniper Networks jätab endale õiguse teha muudatusi. muuta. seda väljaannet ilma ette teatamata üle kanda või muul viisil muuta.
Saada tagasiside aadressile: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml
Dokumendid / Ressursid
![]() |
Juniper NETWORKS Telemeetria Junos AI ML töökoormuse tarkvara jaoks [pdfKasutusjuhend Telemeetria Junos for AI ML Workloads Software, Junos for AI ML Workloads Software, AI ML Workloads Software, Workloads Software, Software |