Telemetry nan Junos pou AI/ML Workloads
Otè: Shalini Mukherjee
Entwodiksyon
Kòm trafik gwoup AI mande pou rezo san pèt ak gwo debi ak latansi ki ba, yon eleman enpòtan nan rezo AI a se koleksyon done siveyans. Junos Telemetry pèmèt siveyans granulaire nan endikatè pèfòmans kle yo, ki gen ladan papòt ak kontè pou jesyon konjesyon ak balans chaj trafik. Sesyon gRPC sipòte difizyon done telemetrik yo. gRPC se yon modèn, sous louvri, kad pèfòmans segondè ki bati sou transpò HTTP/2. Li otorize kapasite natif natal difizyon bidireksyon epi li gen ladan metadata ki fleksib nan tèt demann yo. Premye etap la nan telemetrik se konnen ki done yo dwe kolekte. Lè sa a, nou ka analize done sa yo nan divès fòma. Yon fwa nou kolekte done yo, li enpòtan pou prezante yo nan yon fòma ki fasil pou kontwole, pran desizyon ak amelyore sèvis yo ofri a. Nan papye sa a, nou itilize yon pil telemetri ki gen Telegraf, InfluxDB, ak Grafana. Pile telemetri sa a kolekte done lè l sèvi avèk yon modèl pouse. Modèl rale tradisyonèl yo entansif resous, mande entèvansyon manyèl, epi yo ka gen ladan twou vid ki genyen enfòmasyon nan done yo kolekte. Modèl Pouse simonte limit sa yo lè yo bay done asynchrone. Yo anrichi done yo lè l sèvi avèk itilizatè-zanmitay tags ak non. Yon fwa done yo nan yon fòma ki pi lizib, nou estoke li nan yon baz done epi sèvi ak li nan yon vizyalizasyon entèaktif web aplikasyon pou analize rezo a. Figi. 1 montre nou ki jan pil sa a fèt pou koleksyon done efikas, depo, ak vizyalizasyon, soti nan aparèy rezo yo pouse done nan pèseptè a nan done yo ap parèt sou tablodbò pou analiz.
Pile TIG
Nou itilize yon sèvè Ubuntu pou enstale tout lojisyèl an ki gen ladan pil TIG la.
Telegraph
Pou kolekte done, nou itilize Telegraf sou yon sèvè Ubuntu ki kouri 22.04.2. Telegraf vèsyon an kouri nan Demo sa a se 1.28.5.
Telegraf se yon ajan sèvè ki baze sou Plugin pou kolekte ak rapòte mezi. Li itilize processeur plugins anrichi ak nòmalize done yo. Pwodiksyon an plugins yo itilize pou voye done sa yo nan plizyè magazen done. Nan dokiman sa a nou itilize de plugins: youn pou detèktè openconfig ak lòt la pou detèktè natif natal Juniper.
InfluxDB
Pou estoke done yo nan yon baz done seri tan, nou itilize InfluxDB. Plugin pwodiksyon an nan Telegraf voye done yo bay InfluxDB, ki estoke li nan yon fason trè efikas. Nou ap itilize V1.8 paske pa gen okenn CLI prezan pou V2 ak pi wo a.
Grafana
Grafana yo itilize pou vizyalize done sa yo. Grafana rale done ki soti nan InfluxDB epi pèmèt itilizatè yo kreye tablodbò rich ak entèaktif. Isit la, nou ap kouri vèsyon 10.2.2.
Konfigirasyon sou switch la
Pou aplike pil sa a, nou bezwen konfigirasyon switch la jan yo montre nan Figi 2. Nou te itilize pò 50051. Nou ka itilize nenpòt pò isit la. Konekte nan switch QFX la epi ajoute konfigirasyon sa a.
Nòt: Konfigirasyon sa a se pou laboratwa/POC kòm modpas la transmèt nan tèks klè. Sèvi ak SSL pou evite sa.
Anviwònman
Nginx
Sa nesesè si ou pa kapab ekspoze pò Grafana akomode a. Pwochen etap la se enstale nginx sou sèvè Ubuntu a pou sèvi kòm yon ajan prokurasyon ranvèse. Yon fwa nginx enstale, ajoute liy yo montre nan Figi 4 nan fichye "default" la epi deplase fichye a soti nan /etc/nginx nan /etc/nginx/sites-enabled.
Asire w ke firewall la ajiste pou bay aksè konplè a sèvis nginx jan yo montre nan Figi 5.
Yon fwa nginx enstale ak chanjman ki nesesè yo fèt, nou ta dwe kapab jwenn aksè nan Grafana soti nan yon web navigatè lè l sèvi avèk adrès IP sèvè Ubuntu a kote tout lojisyèl an enstale.
Gen yon ti pwoblèm nan Grafana ki pa kite ou reset modpas default la. Sèvi ak etap sa yo si w rankontre pwoblèm sa a.
Etap yo dwe fè sou sèvè Ubuntu a pou mete modpas la nan Grafana:
- Ale nan /var/lib/grafana/grafana.db
- Enstale sqllite3
o sudo apt enstale sqlite3 - Kouri lòd sa a sou tèminal ou
o sqlite3 grafana.db - Sqlite lòd èd memwa ouvè; kouri rechèch sa a:
> efase nan itilizatè kote login = 'admin' - Rekòmanse grafana epi tape admin kòm non itilizatè ak modpas. Li mande pou yon nouvo modpas.
Yon fwa ke tout lojisyèl an enstale, kreye fichye konfigirasyon an nan Telegraf ki pral ede rale done telemetri yo soti nan switch la epi pouse li nan InfluxDB.
Openconfig Sensor Plugin
Sou sèvè Ubuntu a, edite fichye /etc/telegraf/telegraf.conf pou ajoute tout sa ki nesesè yo plugins ak detèktè. Pou detèktè openconfig yo, nou itilize plugin gNMI yo montre nan Figi 6. Pou rezon demonstrasyon, ajoute non host la kòm "spine1", nimewo pò "50051" ki itilize pou gRPC, non itilizatè ak modpas switch la, ak nimewo a. nan segonn pou recomposition an ka ta gen echèk.
Nan strof abònman an, ajoute yon non inik, "cpu" pou Capteur patikilye sa a, chemen Capteur a, ak entèval tan pou pwan done sa yo nan switch la. Ajoute menm plugin inputs.gnmi ak inputs.gnmi.subscription pou tout detèktè konfigirasyon ouvè yo. (Figi 6)
Native Sensor Plugin
Sa a se yon Plugin koòdone telemetri Juniper yo itilize pou detèktè natif natal. Nan menm fichye telegraf.conf la, ajoute plugin detèktè natif natal inputs.jti_openconfig_telemetry kote jaden yo prèske menm jan ak openconfig. Sèvi ak yon ID kliyan inik pou chak Capteur; isit la, nou itilize "telegraf3". Non inik yo itilize isit la pou Capteur sa a se "mem" (Figi 7).
Anfen, ajoute yon plugin pwodiksyon outputs.influxdb pou voye done Capteur sa a bay InfluxDB. Isit la, yo rele baz done a "telegraf" ak non itilizatè kòm "influx" ak modpas "influxdb" (Figi 8).
Yon fwa ou fin modifye fichye telegraf.conf la, rekòmanse sèvis telegraf la. Koulye a, tcheke nan InfluxDB CLI pou asire w si yo kreye mezi pou tout detèktè inik yo. Tape "influx" pou antre nan InfluxDB CLI.
Jan yo wè nan figi. 9, antre èd memwa influxDB epi sèvi ak baz done "telegraf". Tout non inik yo bay detèktè yo ki nan lis kòm mezi.
Pou wè pwodiksyon nenpòt mezi, jis pou asire ke fichye telegraf la kòrèk epi Capteur a ap travay, sèvi ak lòd "chwazi * soti nan limit CPU 1" jan yo montre nan Figi 10.
Chak fwa yo fè chanjman nan fichye telegraf.conf, asire w ke w sispann InfluxDB, rekòmanse Telegraf, epi apresa kòmanse InfluxDB.
Konekte sou Grafana nan navigatè a epi kreye tablodbò apre w fin asire w ke done yo ap kolekte kòrèkteman.
Ale nan Koneksyon > InfuxDB > Ajoute nouvo sous done.
- Bay yon non sous done sa a. Nan Demo sa a se "tès-1".
- Anba strof HTTP a, sèvi ak IP sèvè Ubuntu ak pò 8086.
- Nan detay InfluxDB yo, sèvi ak menm non baz done a, "telegraf", epi bay non itilizatè ak modpas sèvè Ubuntu a.
- Klike sou Save & Test. Asire w ke ou wè mesaj la, "siksè".
- Yon fwa yo ajoute sous done a avèk siksè, ale nan Dashboards epi klike sou Nouvo. Se pou nou kreye kèk tablodbò ki esansyèl pou chaj travay AI/ML nan mòd editè.
Examples nan graf Capteur
Sa ki annapre yo se ansyenampkèk gwo kontwa ki esansyèl pou kontwole yon rezo AI/ML.
Pousantage itilizasyon pou yon koòdone antre et-0/0/0 sou kolòn vètebral-1
- Chwazi sous done a kòm tès-1.
- Nan seksyon FROM, chwazi mezi a kòm "koòdone". Sa a se non inik yo itilize pou chemen Capteur sa a.
- Nan seksyon KOTE, chwazi aparèy::tag, ak nan la tag valè, chwazi hostname switch la, se sa ki, kolòn vètebral la.
- Nan seksyon SELECT, chwazi branch Capteur ke ou vle kontwole; nan ka sa a chwazi "field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)". Koulye a, nan menm seksyon an, klike sou "+" epi ajoute matematik kalkil sa a (/50000000000 * 100). Nou ap kalkile fondamantalman pousan antage itilizasyon yon koòdone 400G.
- Asire w ke FÒMA a se "seri tan," epi non graf la nan seksyon ALIAS la.
Okipasyon tanpon pik pou nenpòt keu
- Chwazi sous done a kòm tès-1.
- Nan seksyon FROM, chwazi mezi a kòm "tanpon".
- Nan seksyon KOTE, gen twa jaden pou ranpli. Chwazi aparèy::tag, ak nan la tag valè chwazi hostname switch la (sa vle di kolòn vètebral-1); AK chwazi /cos/interfaces/interface/@name::tag epi chwazi koòdone a (sa vle di et- 0/0/0); AK chwazi keu la tou, /cos/interfaces/interface/queues/queue/@queue::tag epi chwazi nimewo keu 4 la.
- Nan seksyon SELECT, chwazi branch Capteur ke ou vle kontwole; nan ka sa a chwazi "field(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy)."
- Asire w ke FÒMA a se "seri tan" epi non graf la nan seksyon ALIAS la.
Ou ka rasanble done pou plizyè koòdone sou menm graf la jan yo wè nan Figi 17 pou et-0/0/0, et-0/0/1, et-0/0/2 elatriye.
PFC ak ECN vle di derive
Pou jwenn derive mwayen an (diferans nan valè nan yon seri tan), sèvi ak mòd rechèch la anvan tout koreksyon.
Sa a se rechèch la enflux ke nou te itilize pou jwenn derive mwayèn ant de valè PFC sou et-0/0/0 nan kolòn vètebral-1 nan yon sec.
SELECT dérivés(vle di ("/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts"), 1s) SOTI "koòdone" KOTE ("aparèy"::tag = 'Kolòn vètebral-1') AK $timeFilter GROUP BY time($entèval)
SELECT dérivé(vle di ("/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts"), 1s) SOTI "koòdone" KOTE ("aparèy"::tag = 'Kolòn vètebral-1') AK $timeFilter GROUP BY time($entèval)
Erè resous antre vle di derive
Rekèt kri pou erè resous vle di derive se:
SELECT dérivé(vle di ("/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors"), 1s) SOTI "koòdone" KOTE ("aparèy"::tag = 'Kolòn vètebral-1') AK $timeFilter GROUP BY time($entèval)
Gout ke vle di dérivés
Rekèt kri pou gout ke vle di derive se:
SELECT dérivé(vle di ("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s) SOTI "tampon" KOTE ("aparèy"::tag = 'Fèy-1' AK "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' AK "/cos/interfaces/interface/queues/queue/@queue"::tag = '4') AK $timeFiltre GROUP BY tan ($__interval) ranpli (nil)
CPU itilizasyon
- Chwazi sous done a kòm tès-1.
- Nan seksyon FROM, chwazi mezi a kòm "newcpu"
- Nan KOTE a, gen twa jaden pou ranpli. Chwazi aparèy::tag ak nan la tag valè chwazi hostname switch la (sa vle di kolòn vètebral-1). AK nan /konpozan/konpozan/pwopriyete/pwopriyete/non:tag, epi chwazi cpuutilization-total AND nan non::tag chwazi RE0.
- Nan seksyon SELECT, chwazi branch Capteur ke ou vle kontwole. Nan ka sa a, chwazi "field (eta/valè)".
Rekèt la anvan tout koreksyon pou jwenn derive ki pa negatif nan gout ke pou switch miltip sou koòdone miltip nan Bits/sec.
SELECT non_negative_derivative(vle di ("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s)*8 SOTI "tampon" KOTE (aparèy::tag =~ /^Spine-[1-2]$/) ak ("/cos/interfaces/interface/@name"::tag =~ /et-0\/0\/[0-9]/ oswa "/cos/interfaces/interface/@name"::tag=~/et-0\/0\/1[0-5]/) AK $timeFilter GROUP BY time($__interval),aparèy::tag ranpli (nil)
Sa yo te kèk nan ansyen anampgraf yo ka kreye pou kontwole yon rezo AI/ML.
Rezime
Papye sa a montre metòd pou rale done telemetrik epi vizyalize yo nan kreye graf. Papye sa a espesyalman pale sou detèktè AI/ML, tou de natif natal ak openconfig men konfigirasyon an ka itilize pou tout kalite detèktè. Nou te enkli tou solisyon pou plizyè pwoblèm ke ou ta ka fè fas pandan y ap kreye konfigirasyon an. Etap yo ak rezilta yo dekri nan papye sa a se espesifik nan vèsyon yo nan pil TIG mansyone pi bonè. Li sijè a chanje selon vèsyon an nan lojisyèl an, detèktè yo ak vèsyon an Junos.
Referans
Juniper Yang Data Model Explorer pou tout opsyon Capteur
https://apps.juniper.net/ydm-explorer/
Openconfig fowòm pou detèktè openconfig
https://www.openconfig.net/projects/models/
Katye jeneral antrepriz ak lavant yo
Juniper Networks, Inc.
1133 Way Inovasyon
Sunnyvale, CA 94089 USA
Telefòn: 888. JUNIPER (888.586.4737)
oswa +1.408.745.2000
Faks: +1.408.745.2100
www.juniper.net
Katye Jeneral APAC ak EMEA
Juniper Networks International BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amstèdam, Netherlands
Telefòn: +31.207.125.700
Faks: +31.207.125.701
Copyright 2023 Juniper Networks. Inc. Tout dwa rezève. Juniper Networks, logo Juniper Networks, Juniper, Junos, ak lòt mak komèsyal yo se mak ki anrejistre Juniper Networks. inc. ak/oswa afilye li yo nan Etazini ak lòt peyi yo. Lòt non yo ka mak pwopriyetè respektif yo. Juniper Networks pa pran okenn responsablite pou nenpòt ki erè nan dokiman sa a. Juniper Networks rezève dwa pou chanje. modifye. transfere, oswa revize piblikasyon sa a san avètisman.
Voye fidbak bay: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml
Dokiman / Resous
![]() |
Juniper NETWORKS Telemetry nan Junos pou AI ML Workloads Software [pdfGid Itilizatè Telemetri nan Junos pou AI ML Workloads Software, Junos pou AI ML Workloads Lojisyèl, AI ML Workloads Lojisyèl, Lojisyèl Workloads, Lojisyèl |