Juniper NETWORKS- nemboTelemetry katika Junos kwa AI/ML mzigo wa kazi
Mwandishi: Shalini Mukherjee

Utangulizi

Kwa vile trafiki ya nguzo ya AI inahitaji mitandao isiyo na hasara yenye upitishaji wa hali ya juu na ukawiaji wa chini, kipengele muhimu cha mtandao wa AI ni mkusanyiko wa data ya ufuatiliaji. Junos Telemetry huwezesha ufuatiliaji wa punjepunje wa viashirio muhimu vya utendakazi, ikijumuisha vizingiti na vihesabio vya kudhibiti msongamano na kusawazisha mizigo ya trafiki. Vipindi vya gRPC vinaauni utiririshaji wa data ya telemetry. gRPC ni mfumo wa kisasa, chanzo huria na wa hali ya juu wa utendakazi ambao umejengwa kwenye usafiri wa HTTP/2. Huwezesha uwezo asili wa utiririshaji wa pande mbili na inajumuisha metadata inayoweza kunyumbulika maalum katika vichwa vya ombi. Hatua ya awali katika telemetry ni kujua ni data gani inapaswa kukusanywa. Kisha tunaweza kuchambua data hii katika miundo mbalimbali. Mara tu tunapokusanya data, ni muhimu kuiwasilisha katika muundo ambao ni rahisi kufuatilia, kufanya maamuzi na kuboresha huduma inayotolewa. Katika karatasi hii, tunatumia rundo la telemetry linalojumuisha Telegraf, InfluxDB, na Grafana. Rafu hii ya telemetry hukusanya data kwa kutumia muundo wa programu. Miundo ya kitamaduni ya mvuto inahitaji rasilimali nyingi, inahitaji uingiliaji kati wa mtu mwenyewe, na inaweza kujumuisha mapungufu ya taarifa katika data wanayokusanya. Miundo ya kusukuma hushinda vizuizi hivi kwa kupeana data bila mpangilio. Wanaboresha data kwa kutumia rahisi kutumia tags na majina. Baada ya data kuwa katika umbizo linalosomeka zaidi, tunaihifadhi kwenye hifadhidata na kuitumia katika taswira shirikishi web maombi ya kuchambua mtandao. Kielelezo. 1 inatuonyesha jinsi rafu hii imeundwa kwa ajili ya ukusanyaji, uhifadhi, na taswira bora ya data, kutoka kwa vifaa vya mtandao vinavyosukuma data hadi kwa mkusanyaji hadi data inayoonyeshwa kwenye dashibodi kwa uchanganuzi.

Juniper NETWORKS Telemetry Katika Junos kwa Programu ya Upakiaji wa Kazi ya AI ML -

Mkusanyiko wa TIG

Tulitumia seva ya Ubuntu kusakinisha programu zote ikijumuisha mkusanyiko wa TIG.

Telegrafu
Ili kukusanya data, tunatumia Telegraf kwenye seva ya Ubuntu inayoendesha 22.04.2. Toleo la Telegraf linaloendeshwa katika onyesho hili ni 1.28.5.
Telegraf ni wakala wa seva inayoendeshwa na programu-jalizi kwa ajili ya kukusanya na kuripoti metriki. Inatumia processor plugins kuboresha na kurekebisha data. Pato plugins hutumika kutuma data hii kwa hifadhi mbalimbali za data. Katika hati hii tunatumia mbili plugins: moja ya vitambuzi vya openconfig na nyingine ya vitambuzi asili vya Mreteni.
InfluxDB
Ili kuhifadhi data katika hifadhidata ya mfululizo wa saa, tunatumia InfluxDB. Programu-jalizi ya pato katika Telegraf hutuma data kwa InfluxDB, ambayo huihifadhi kwa njia bora zaidi. Tunatumia V1.8 kwani hakuna CLI iliyopo kwa V2 na zaidi.
Grafana
Grafana hutumiwa kuibua data hii. Grafana huchota data kutoka kwa InfluxDB na kuwaruhusu watumiaji kuunda dashibodi tajiri na zinazoingiliana. Hapa, tunaendesha toleo la 10.2.2.

Usanidi Kwenye Swichi

Ili kutekeleza rafu hii, kwanza tunahitaji kusanidi swichi kama inavyoonyeshwa kwenye Mchoro 2. Tumetumia mlango nambari 50051. Mlango wowote unaweza kutumika hapa. Ingia kwenye swichi ya QFX na uongeze usanidi ufuatao.

Juniper NETWORKS Telemetry Katika Junos kwa Programu ya Upakiaji wa Kazi ya AI ML - Badilisha

Kumbuka: Usanidi huu ni wa maabara/POC kwani nenosiri hupitishwa kwa maandishi wazi. Tumia SSL ili kuepuka hili.

Mazingira

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Mazingira

Nginx
Hii inahitajika ikiwa huwezi kufichua bandari ambayo Grafana inapangishwa. Hatua inayofuata ni kusakinisha nginx kwenye seva ya Ubuntu ili kutumika kama wakala wa reverse. Mara nginx inaposakinishwa, ongeza mistari iliyoonyeshwa kwenye Mchoro 4 kwa faili "chaguo-msingi" na usogeze faili kutoka /etc/nginx hadi /etc/nginx/sites-enabled.

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx1

Hakikisha kwamba ngome imerekebishwa ili kutoa ufikiaji kamili kwa huduma ya nginx kama inavyoonyeshwa kwenye Mchoro 5.

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx2

Mara nginx inaposakinishwa na mabadiliko yanayohitajika kufanywa, tunapaswa kuwa na uwezo wa kufikia Grafana kutoka a web kivinjari kwa kutumia anwani ya IP ya seva ya Ubuntu ambapo programu yote imewekwa.
Kuna hitilafu ndogo katika Grafana ambayo haikuruhusu kuweka upya nenosiri chaguo-msingi. Tumia hatua hizi ikiwa unakabiliwa na suala hili.
Hatua za kufanywa kwenye seva ya Ubuntu kuweka nenosiri huko Grafana:

  • Nenda kwa /var/lib/grafana/grafana.db
  • Sakinisha sqllite3
    o sudo apt kufunga sqlite3
  • Tekeleza amri hii kwenye terminal yako
    o sqlite3 grafana.db
  •  Upeo wa amri ya Sqlite unafungua; endesha swali lifuatalo:
    > futa kutoka kwa mtumiaji ambapo ingia = 'admin'
  • Anzisha upya grafana na chapa admin kama jina la mtumiaji na nywila. Inauliza kwa nenosiri mpya.

Programu yote ikishasakinishwa, tengeneza faili ya usanidi katika Telegraf ambayo itasaidia kuvuta data ya telemetry kutoka kwa swichi na kuisukuma hadi InfluxDB.

Programu-jalizi ya Sensor ya Openconfig

Kwenye seva ya Ubuntu, hariri /etc/telegraf/telegraf.conf faili ili kuongeza yote yanayohitajika. plugins na sensorer. Kwa vitambuzi vya openconfig, tunatumia programu-jalizi ya gNMI iliyoonyeshwa kwenye Mchoro 6. Kwa madhumuni ya onyesho, ongeza jina la mpangishi kama "spine1", nambari ya mlango "50051" inayotumika kwa gRPC, jina la mtumiaji na nenosiri la swichi, na nambari. ya sekunde kwa ajili ya kupiga tena katika kesi ya kushindwa.
Katika mstari wa usajili, ongeza jina la kipekee, "cpu" kwa kihisi hiki mahususi, njia ya kihisi, na muda wa kuchukua data hii kutoka kwa swichi. Ongeza pembejeo sawa.gnmi na inputs.gnmi.subscription kwa vitambuzi vyote vilivyo wazi vya usanidi. (Kielelezo 6)

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx3

Programu-jalizi ya Sensor Asilia

Hii ni programu-jalizi ya kiolesura cha Juniper telemetry inayotumika kwa vitambuzi vya asili. Katika faili ile ile ya telegraf.conf, ongeza pembejeo za programu-jalizi ya kitambuzi asili.jti_openconfig_telemetry ambapo nyanja ni karibu sawa na openconfig. Tumia kitambulisho cha kipekee cha mteja kwa kila kitambuzi; hapa, tunatumia "telegraf3". Jina la kipekee linalotumiwa hapa kwa sensor hii ni "mem" (Mchoro 7).

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx4

Mwishowe, ongeza programu-jalizi ya outputs.influxdb ili kutuma data hii ya kihisi kwa InfluxDB. Hapa, hifadhidata inaitwa "telegraf" na jina la mtumiaji kama "influx" na nenosiri "influxdb" (Mchoro 8).

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx5

Mara baada ya kuhariri faili ya telegraf.conf, anzisha upya huduma ya telegraf. Sasa, angalia InfluxDB CLI ili kuhakikisha kama vipimo vimeundwa kwa vitambuzi vyote vya kipekee. Andika "influx" ili kuingiza InfluxDB CLI.

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx6

Kama inavyoonekana kwenye Kielelezo. 9, ingiza kidokezo cha influxDB na utumie hifadhidata "telegraf". Majina yote ya kipekee yaliyopewa vitambuzi yameorodheshwa kama vipimo.
Ili kuona matokeo ya kipimo chochote, ili tu kuhakikisha kuwa faili ya telegraf ni sahihi na kihisi kinafanya kazi, tumia amri "chagua * kutoka kwa kikomo cha 1 cha cpu" kama inavyoonyeshwa kwenye Mchoro 10.

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx7

Kila mara mabadiliko yanapofanywa kwenye faili ya telegraf.conf, hakikisha umesimamisha InfluxDB, anzisha tena Telegraf, kisha uanzishe InfluxDB.
Ingia kwa Grafana kutoka kwa kivinjari na uunde dashibodi baada ya kuhakikisha kuwa data inakusanywa kwa usahihi.
Nenda kwa Viunganisho> InfuxDB> Ongeza chanzo kipya cha data.

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx8

  1. Ipe chanzo hiki cha data jina. Katika onyesho hili ni "mtihani-1".
  2.  Chini ya mstari wa HTTP, tumia IP ya seva ya Ubuntu na bandari ya 8086.
    Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx9
  3. Katika maelezo ya InfluxDB, tumia jina la hifadhidata sawa, "telegraf," na toa jina la mtumiaji na nenosiri la seva ya Ubuntu.
  4. Bofya Hifadhi & ujaribu. Hakikisha unaona ujumbe, "imefaulu".
    Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Nginx10
  5. Mara baada ya chanzo cha data kuongezwa kwa ufanisi, nenda kwa Dashibodi na ubofye Mpya. Hebu tuunde dashibodi chache ambazo ni muhimu kwa mzigo wa kazi wa AI/ML katika hali ya kuhariri.

ExampSehemu za Grafu za Sensor

Wafuatao ni wa zamaniampbaadhi ya kaunta kuu ambazo ni muhimu kwa ufuatiliaji wa mtandao wa AI/ML.
Asilimiatagutumiaji wa kiolesura cha ingress et-0/0/0 kwenye mgongo-1
Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Grafu

  • Chagua chanzo cha data kama jaribio-1.
  • Katika sehemu ya FROM, chagua kipimo kama "kiolesura". Hili ndilo jina la kipekee linalotumiwa kwa njia hii ya kihisi.
  • Katika sehemu ya WHERE, chagua kifaa::tag, na katika tag thamani, chagua jina la mwenyeji wa swichi, ambayo ni, mgongo1.
  • Katika sehemu ya SELECT, chagua tawi la sensor ambayo unataka kufuatilia; katika kesi hii chagua "field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)". Sasa katika sehemu hiyo hiyo, bonyeza "+" na uongeze hesabu hii ya hesabu (/ 50000000000 * 100). Kimsingi tunahesabu asilimiatage matumizi ya kiolesura cha 400G.
  • Hakikisha FORMAT ni "mfululizo wa saa," na utaje grafu katika sehemu ya ALIAS.

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Grafu1Ukaaji wa kilele wa bafa kwa foleni yoyote

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Grafu2

  • Chagua chanzo cha data kama jaribio-1.
  • Katika sehemu ya FROM, chagua kipimo kama "bafa."
  • Katika sehemu ya WAPI, kuna nyanja tatu za kujaza. Chagua kifaa::tag, na katika tag thamani chagua jina la mwenyeji wa kubadili (yaani mgongo-1); NA uchague /cos/interfaces/interface/@name::tag na uchague kiolesura (yaani et- 0/0/0); NA uchague foleni pia, /cos/interfaces/interface/queues/queue/@queue::tag na uchague nambari ya foleni 4.
  • Katika sehemu ya SELECT, chagua tawi la sensor ambayo unataka kufuatilia; katika kesi hii chagua "field(/cos/interfaces/interface/foleni/queue/PeakBufferOccupancy)."
  • Hakikisha FORMAT ni "mfululizo wa saa" na utaje grafu katika sehemu ya ALIAS.

Unaweza kukusanya data kwa violesura vingi kwenye grafu sawa na inavyoonekana kwenye Mchoro 17 ya et-0/0/0, et-0/0/1, et-0/0/2 n.k.

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - Grafu3

PFC na ECN inamaanisha derivative
Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - derivative

Ili kupata wastani wa derivative (tofauti ya thamani ndani ya kipindi cha muda), tumia modi ghafi ya ulizo.
Hili ndilo swali la msukumo ambalo tumetumia kupata wastani wa derivative kati ya thamani mbili za PFC kwenye et-0/0/0 ya Spine-1 kwa sekunde.
CHAGUA derivative(maana(“/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) KUTOKA "interface" WAPI ("kifaa"::tag = 'Spine-1') NA $timeFilter GROUP KWA wakati($interval)

Juniper NETWORKS Telemetry Katika Junos kwa Programu ya AI ML ya Upakiaji - Vile vile kwa ECN

CHAGUA derivative(maana(“/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts”), 1s) KUTOKA "interface" WAPI ("kifaa"::tag = 'Spine-1') NA $timeFilter GROUP KWA wakati($interval)

Juniper NETWORKS Telemetry Katika Junos kwa Programu ya AI ML ya Upakiaji - Vile vile kwa ECN1

Hitilafu za rasilimali ya ingizo humaanisha derivative

Juniper NETWORKS Telemetry Katika Junos kwa Programu ya AI ML ya Upakiaji - Vile vile kwa ECN2

Hoja ghafi ya makosa ya rasilimali inamaanisha derivative ni:
CHAGUA derivative(maana(“/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors”), sekunde 1) KUTOKA "interface" WAPI ("kifaa"::tag = 'Spine-1') NA $timeFilter GROUP KWA wakati($interval)

Juniper NETWORKS Telemetry Katika Junos kwa Programu ya AI ML ya Upakiaji - Vile vile kwa ECN3

Matone ya mkia yanamaanisha derivative

Juniper NETWORKS Telemetry Katika Junos kwa Programu ya AI ML ya Upakiaji - Vile vile kwa ECN4

Swala mbichi ya matone ya mkia inamaanisha derivative ni:
CHAGUA derivative(maana(“/cos/interfaces/interface/foleni/queue/tailDropBytes”), 1s) KUTOKA “bu” WAPI (“kifaa”::tag = 'Leaf-1' NA “/cos/interfaces/interface/@name”::tag = 'et-0/0/0' NA “/cos/interfaces/interface/queues/queue/@queue”::tag = '4') NA $timeFilter GROUP BY time($__interval) jaza(null)
 Utumiaji wa CPU

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - CPU matumizi

  • Chagua chanzo cha data kama jaribio-1.
  • Katika sehemu ya FROM, chagua kipimo kama "newcpu"
  • Katika WAPI, kuna nyanja tatu za kujaza. Chagua kifaa::tag na katika tag thamani chagua jina la mpangishi wa swichi (yaani mgongo-1). NA katika /vipengele/sehemu/mali/mali/jina:tag, na uchague cpuutilization-jumla NA kwa jina ::tag chagua RE0.
  • Katika sehemu ya CHAGUA, chagua tawi la sensor ambalo ungependa kufuatilia. Katika kesi hii, chagua "shamba (hali/thamani)".

Juniper NETWORKS Telemetry Katika Junos kwa Programu ya AI ML ya Upakiaji - Utumiaji wa CPU1

Hoja ghafi ya kupata derivative isiyo hasi ya matone ya mkia kwa swichi nyingi kwenye violesura vingi katika biti/sekunde.
CHAGUA non_negative_derivative(maana(“/cos/interfaces/interface/queue/queue/tailDropBytes”), 1s)*8 KUTOKA “bu” WAPI (kifaa::tag =~ /^Spine-[1-2]$/) na (“/cos/interfaces/interface/@name”::tag =~ /et-0\/0\/[0-9]/ au “/cos/interfaces/interface/@name”::tag=~/et-0\/0\/1[0-5]/) NA $timeFilter GROUP BY time($__interval),kifaa::tag kujaza (null)

Juniper NETWORKS Telemetry Katika Junos kwa Programu ya AI ML ya Upakiaji - Utumiaji wa CPU2

Hawa walikuwa baadhi ya exampsehemu ndogo za grafu zinazoweza kuundwa kwa ajili ya ufuatiliaji wa mtandao wa AI/ML.

Muhtasari

Karatasi hii inaonyesha njia ya kuvuta data ya telemetry na kuibua kwa kuunda grafu. Karatasi hii inazungumza haswa juu ya vitambuzi vya AI/ML, asilia na openconfig lakini usanidi unaweza kutumika kwa kila aina ya vitambuzi. Pia tumejumuisha masuluhisho kwa masuala mengi ambayo unaweza kukumbana nayo unapounda usanidi. Hatua na matokeo yaliyoonyeshwa katika karatasi hii ni mahususi kwa matoleo ya mrundikano wa TIG yaliyotajwa hapo awali. Inaweza kubadilika kulingana na toleo la programu, vitambuzi na toleo la Junos.

Marejeleo

Juniper Yang Data Model Explorer kwa chaguzi zote za sensorer
https://apps.juniper.net/ydm-explorer/
Jukwaa la Openconfig la vitambuzi vya openconfig
https://www.openconfig.net/projects/models/

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu - icon

Makao Makuu ya Biashara na Mauzo
Juniper Networks, Inc.
1133 Njia ya Ubunifu
Sunnyvale, CA 94089 Marekani
Simu: 888. JUNIPER (888.586.4737)
au +1.408.745.2000
Faksi: +1.408.745.2100
www.juniper.net
Makao Makuu ya APAC na EMEA
Juniper Networks International BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amsterdam, Uholanzi
Simu: +31.207.125.700
Faksi: +31.207.125.701
Hakimiliki Mitandao ya Juniper 2023. Inc. Haki za Ail zimehifadhiwa. Mitandao ya Juniper, nembo ya Mitandao ya Mreteni, Mreteni, Junos, na chapa nyingine za biashara ni alama za biashara zilizosajiliwa za Mitandao ya Mreteni. pamoja na na/au washirika wake nchini Marekani na nchi nyinginezo. Majina mengine yanaweza kuwa alama za biashara za wamiliki husika. Mitandao ya Juniper haichukui jukumu kwa makosa yoyote katika hati hii. Mitandao ya Juniper inahifadhi haki ya kubadilika. rekebisha. kuhamisha, au vinginevyo rekebisha chapisho hili bila notisi.
Tuma maoni kwa: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml

Nyaraka / Rasilimali

Juniper NETWORKS Telemetry Katika Junos kwa AI ML Workloads Programu [pdf] Mwongozo wa Mtumiaji
Telemetry Katika Junos kwa Programu ya Upakiaji wa Kazi ya AI ML, Junos kwa Programu ya Upakiaji wa Kazi ya AI ML, Programu ya Upakiaji wa Kazi ya AI ML, Programu ya Upakiaji, Programu

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *