Juniper NETWORKS- logoTelemetri ing Junos kanggo AI / ML Workloads
Pengarang: Shalini Mukherjee

Pambuka

Amarga trafik kluster AI mbutuhake jaringan lossless kanthi throughput dhuwur lan latency kurang, unsur kritis jaringan AI yaiku nglumpukake data pemantauan. Junos Telemetry mbisakake pemantauan granular kanggo indikator kinerja utama, kalebu ambang lan counter kanggo manajemen kemacetan lan imbangan beban lalu lintas. Sesi gRPC ndhukung streaming data telemetri. gRPC minangka kerangka kerja modern, open-source, kinerja dhuwur sing dibangun ing transportasi HTTP/2. Iki ngidini kemampuan streaming bidirectional asli lan kalebu metadata khusus sing fleksibel ing header panjaluk. Langkah awal ing telemetri yaiku ngerti apa data sing bakal dikumpulake. Kita banjur bisa nganalisa data iki ing macem-macem format. Sawise ngumpulake data, penting kanggo nampilake ing format sing gampang dipantau, nggawe keputusan lan nambah layanan sing ditawakake. Ing makalah iki, kita nggunakake tumpukan telemetri sing dumadi saka Telegraf, InfluxDB, lan Grafana. Tumpukan telemetri iki ngumpulake data nggunakake model push. Model narik tradisional akeh sumber daya, mbutuhake intervensi manual, lan bisa uga kalebu kesenjangan informasi ing data sing diklumpukake. Model push ngatasi watesan kasebut kanthi ngirim data kanthi ora sinkron. Padha enrich data kanthi nggunakake pangguna-loropaken tags lan jeneng. Sawise data ana ing format sing luwih bisa diwaca, kita nyimpen ing basis data lan digunakake ing visualisasi interaktif web aplikasi kanggo nganalisa jaringan. Gambar. 1 nuduhake carane tumpukan iki dirancang kanggo ngumpulake data, panyimpenan, lan visualisasi sing efisien, saka piranti jaringan sing nyurung data menyang kolektor menyang data sing ditampilake ing dashboard kanggo dianalisis.

Juniper NETWORKS Telemetri Ing Junos kanggo AI ML Workloads Software -

Tumpukan TIG

Kita nggunakake server Ubuntu kanggo nginstal kabeh piranti lunak kalebu tumpukan TIG.

telegraf
Kanggo ngumpulake data, kita nggunakake Telegraf ing server Ubuntu sing nganggo 22.04.2. Versi Telegraf sing mlaku ing demo iki yaiku 1.28.5.
Telegraf minangka agen server sing didorong plugin kanggo ngumpulake lan nglaporake metrik. Iku nggunakake prosesor plugins kanggo nambah lan normalake data. Output plugins digunakake kanggo ngirim data iki menyang macem-macem toko data. Ing dokumen iki kita nggunakake loro plugins: siji kanggo sensor openconfig lan liyane kanggo sensor asli Juniper.
InfluxDB
Kanggo nyimpen data ing basis data seri wektu, kita nggunakake InfluxDB. Plugin output ing Telegraf ngirim data menyang InfluxDB, sing nyimpen kanthi cara sing efisien banget. Kita nggunakake V1.8 amarga ora ana CLI saiki kanggo V2 lan ndhuwur.
Grafana
Grafana digunakake kanggo nggambarake data kasebut. Grafana narik data saka InfluxDB lan ngidini pangguna nggawe dashboard sing sugih lan interaktif. Ing kene, kita mbukak versi 10.2.2.

Konfigurasi Ing Ngalih

Kanggo ngleksanakake tumpukan iki, pisanan kita kudu ngonfigurasi switch kaya sing ditampilake ing Gambar 2. Kita wis nggunakake port 50051. Port apa wae bisa digunakake ing kene. Mlebu menyang saklar QFX lan tambahake konfigurasi ing ngisor iki.

Juniper NETWORKS Telemetry Ing Junos kanggo AI ML Workloads Software - Ngalih

Cathetan: Konfigurasi iki kanggo labs/POCs amarga tembung sandhi dikirim ing teks sing cetha. Gunakake SSL kanggo nyegah iki.

Lingkungan

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - Lingkungan

Nginx
Iki dibutuhake yen sampeyan ora bisa mbukak port sing di-host Grafana. Langkah sabanjure yaiku nginstal nginx ing server Ubuntu kanggo dadi agen proxy mbalikke. Sawise nginx diinstal, tambahake garis sing ditampilake ing Gambar 4 menyang file "standar" lan pindhah file saka /etc/nginx menyang /etc/nginx/sites-enabled.

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - Nginx

Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx1

Priksa manawa firewall disetel kanggo menehi akses lengkap menyang layanan nginx kaya sing ditampilake ing Gambar 5.

Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx2

Sawise nginx diinstal lan owah-owahan sing dibutuhake, kita kudu bisa ngakses Grafana saka a web browser kanthi nggunakake alamat IP server Ubuntu ing ngendi kabeh piranti lunak wis diinstal.
Ana kesalahan cilik ing Grafana sing ora ngidini sampeyan ngreset sandhi standar. Gunakake langkah-langkah iki yen sampeyan nemoni masalah iki.
Langkah-langkah sing kudu ditindakake ing server Ubuntu kanggo nyetel sandhi ing Grafana:

  • Pindhah menyang /var/lib/grafana/grafana.db
  • Instal sqlite3
    o sudo apt nginstal sqlite3
  • Jalanake perintah iki ing terminal sampeyan
    o sqlite3 grafana.db
  •  Sqlite command prompt mbukak; mbukak pitakon ing ngisor iki:
    > mbusak saka pangguna ngendi login = 'admin'
  • Wiwiti maneh grafana lan ketik admin minangka jeneng pangguna lan sandhi. Iki njaluk sandhi anyar.

Sawise kabeh piranti lunak wis diinstal, gawe file konfigurasi ing Telegraf sing bakal mbantu narik data telemetri saka saklar lan push menyang InfluxDB.

Openconfig Sensor Plugin

Ing server Ubuntu, sunting file /etc/telegraf/telegraf.conf kanggo nambah kabeh sing dibutuhake plugins lan sensor. Kanggo sensor openconfig, kita nggunakake plugin gNMI sing ditampilake ing Gambar 6. Kanggo tujuan demo, tambahake jeneng host minangka "spine1", nomer port "50051" sing digunakake kanggo gRPC, jeneng pangguna lan sandhi switch, lan nomer detik kanggo nelpon maneh yen gagal.
Ing stanza langganan, tambahake jeneng unik, "cpu" kanggo sensor tartamtu iki, jalur sensor, lan interval wektu kanggo njupuk data iki saka saklar. Tambah inputs.gnmi lan inputs.gnmi.subscription sing padha kanggo kabeh sensor konfigurasi sing mbukak. (Gambar 6)

Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx3

Plugin Sensor Asli

Iki minangka plugin antarmuka telemetri Juniper sing digunakake kanggo sensor asli. Ing file telegraf.conf sing padha, tambahake input plugin sensor native.jti_openconfig_telemetry ing ngendi kolom meh padha karo openconfig. Gunakake ID klien unik kanggo saben sensor; kene, kita nggunakake "telegraf3". Jeneng unik sing digunakake ing kene kanggo sensor iki yaiku "mem" (Gambar 7).

Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx4

Pungkasan, tambahake plugin output outputs.influxdb kanggo ngirim data sensor iki menyang InfluxDB. Ing kene, database kasebut dijenengi "telegraf" kanthi jeneng pangguna minangka "influx" lan tembung sandi "influxdb" (Gambar 8).

Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx5

Sawise sampeyan nyunting file telegraf.conf, miwiti maneh layanan telegraf. Saiki, priksa CLI InfluxDB kanggo mesthekake yen pangukuran digawe kanggo kabeh sensor unik. Ketik "influx" kanggo ngetik CLI InfluxDB.

Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx6

Kaya sing katon ing Gambar. 9, ketik pituduh influxDB lan gunakake database "telegraf". Kabeh jeneng unik sing diwenehake kanggo sensor kasebut minangka pangukuran.
Kanggo ndeleng output saka siji pangukuran, mung kanggo mesthekake yen file telegraf bener lan sensor bisa digunakake, gunakake printah "pilih * saka watesan cpu 1" kaya sing dituduhake ing Gambar 10.

Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx7

Saben owah-owahan digawe menyang file telegraf.conf, pesthekake kanggo mungkasi InfluxDB, miwiti maneh Telegraf, banjur miwiti InfluxDB.
Mlebu menyang Grafana saka browser lan nggawe dashboard sawise mesthekake yen data diklumpukake kanthi bener.
Pindhah menyang Sambungan > InfuxDB > Tambah sumber data anyar.

Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx8

  1. Menehi jeneng kanggo sumber data iki. Ing demo iki "test-1".
  2.  Ing stanza HTTP, gunakake IP server Ubuntu lan port 8086.
    Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx9
  3. Ing rincian InfluxDB, gunakake jeneng database sing padha, "telegraf," lan wenehi jeneng pangguna lan sandhi server Ubuntu.
  4. Klik Simpen & tes. Priksa manawa sampeyan ndeleng pesen, "sukses".
    Juniper NETWORKS Telemetri Ing Junos kanggo Piranti Lunak Beban Kerja AI ML - Nginx10
  5. Sawise sumber data kasil ditambahake, pindhah menyang Dashboards banjur klik Anyar. Ayo nggawe sawetara dashboard sing penting kanggo beban kerja AI/ML ing mode editor.

Examples Saka Grafik Sensor

Ing ngisor iki sing examples saka sawetara counter utama sing penting kanggo ngawasi jaringan AI / ML.
Persentagpemanfaatan kanggo antarmuka ingress et-0/0/0 ing spine-1
Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - Grafik

  • Pilih sumber data minangka test-1.
  • Ing bagean FROM, pilih pangukuran minangka "antarmuka". Iki minangka jeneng unik sing digunakake kanggo jalur sensor iki.
  • Ing bagean WHERE, pilih piranti::tag, lan ing tag Nilai, pilih hostname switch, yaiku spine1.
  • Ing bagean PILIH, pilih cabang sensor sing pengin dipantau; ing kasus iki pilih "field (/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)". Saiki ing bagean sing padha, klik "+" lan tambahake math pitungan iki (/50000000000 * 100). We Sejatine ngetung persentage nggunakake antarmuka 400G.
  • Priksa manawa FORMAT minangka "seri-wektu," lan jeneng grafik ing bagean ALIAS.

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - Graphs1Peak buffer pendhudhukan kanggo sembarang antrian

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - Graphs2

  • Pilih sumber data minangka test-1.
  • Ing bagean FROM, pilih pangukuran minangka "buffer."
  • Ing bagean WHERE, ana telung kolom sing kudu diisi. Pilih piranti::tag, lan ing tag Nilai pilih jeneng host switch (yaiku spine-1); LAN pilih /cos/interfaces/interface/@name::tag lan pilih antarmuka (ie et- 0/0/0); Lan pilih antrian uga, /cos/interfaces/interface/queues/queue/@queue::tag lan pilih nomer antrian 4.
  • Ing bagean PILIH, pilih cabang sensor sing pengin dipantau; Ing kasus iki, pilih "field(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy)."
  • Priksa manawa FORMAT minangka "seri-wektu" lan jeneng grafik ing bagean ALIAS.

Sampeyan bisa ngumpulake data kanggo macem-macem antarmuka ing grafik sing padha kaya sing katon ing Figure 17 kanggo et-0/0/0, et-0/0/1, et-0/0/2 etc.

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - Graphs3

PFC lan ECN tegese turunan
Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - turunan

Kanggo nemokake turunan rata-rata (prabédan ing nilai ing sawetara wektu), gunakake mode query mentah.
Iki minangka pitakon influx sing digunakake kanggo nemokake turunan rata-rata ing antarane rong nilai PFC ing et-0/0/0 saka Spine-1 ing sec.
PILIH turunan(tegese(“/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) FROM “interface” WHERE (“device”::tag = 'Spine-1') LAN $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - Kajaba kanggo ECN

PILIH turunan(tegese(“/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts”), 1s) FROM “interface” WHERE (“device”::tag = 'Spine-1') LAN $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetry In Junos kanggo Piranti Lunak Beban Kerja AI ML - Kajaba kanggo ECN1

Kesalahan sumber input tegese turunan

Juniper NETWORKS Telemetry In Junos kanggo Piranti Lunak Beban Kerja AI ML - Kajaba kanggo ECN2

Pitakonan mentah kanggo kesalahan sumber daya tegese turunan yaiku:
PILIH turunan(tegese(“/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors”), 1s) Saka “interface” WHERE (“device”::tag = 'Spine-1') LAN $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetry In Junos kanggo Piranti Lunak Beban Kerja AI ML - Kajaba kanggo ECN3

Tetes buntut tegese turunan

Juniper NETWORKS Telemetry In Junos kanggo Piranti Lunak Beban Kerja AI ML - Kajaba kanggo ECN4

Pitakonan mentah kanggo tetes buntut tegese turunan yaiku:
SELECT derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s) FROM “buer” WHERE (“device”::tag = 'Leaf-1' LAN "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' LAN "/cos/interfaces/interface/queues/queue/@queue"::tag = '4') LAN $timeFilter GROUP BY time($__interval) isi(null)
 panggunaan CPU

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - panggunaan CPU

  • Pilih sumber data minangka test-1.
  • Ing bagean FROM, pilih pangukuran minangka "newcpu"
  • Ing WHERE, ana telung kolom sing kudu diisi. Pilih piranti::tag lan ing tag Nilai pilih hostname switch (yaiku spine-1). Lan ing /komponen/komponen/properti/properti/jeneng:tag, lan pilih cpuutilization-total AND ing jeneng::tag pilih RE0.
  • Ing bagean PILIH, pilih cabang sensor sing pengin dipantau. Ing kasus iki, pilih "bidang (state/value)".

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - panggunaan CPU1

Pitakonan mentah kanggo nemokake turunan non-negatif saka tetes buntut kanggo pirang-pirang switch ing sawetara antarmuka ing bit/sec.
PILIH non_negative_derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s)*8 FROM “buer” WHERE (perangkat::tag =~ /^Spine-[1-2]$/) lan (“/cos/interfaces/interface/@name”::tag =~ /et-0\/0\/[0-9]/ utawa “/cos/interfaces/interface/@name”::tag=~/et-0\/0\/1[0-5]/) LAN $timeFilter GROUP Miturut wektu($__interval), piranti::tag isi (null)

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - panggunaan CPU2

Iki minangka sawetara mantanamples saka grafik sing bisa digawe kanggo ngawasi jaringan AI / ML.

Ringkesan

Makalah iki nggambarake cara narik data telemetri lan nggambarake kanthi nggawe grafik. Makalah iki khusus ngomong babagan sensor AI/ML, native lan openconfig nanging persiyapan bisa digunakake kanggo kabeh jinis sensor. Kita uga wis nyakup solusi kanggo macem-macem masalah sing sampeyan bisa ngadhepi nalika nggawe persiyapan. Langkah-langkah lan output sing digambarake ing kertas iki khusus kanggo versi tumpukan TIG sing kasebut sadurunge. Iku bisa diganti gumantung versi piranti lunak, sensor lan versi Junos.

Referensi

Juniper Yang Data Model Explorer kanggo kabeh opsi sensor
https://apps.juniper.net/ydm-explorer/
Forum Openconfig kanggo sensor openconfig
https://www.openconfig.net/projects/models/

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software - lambang

Kantor Pusat Perusahaan lan Penjualan
Juniper Networks, Inc.
1133 Cara Inovasi
Sunnyvale, CA 94089 AS
Telpon: 888. JUNIPER (888.586.4737)
utawa +1.408.745.2000
Fax: +1.408.745.2100
www.juniper.net
Markas APAC lan EMEA
Juniper Networks International BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amsterdam, Walanda
Telpon: +31.207.125.700
Fax: +31.207.125.701
Hak Cipta 2023 Juniper Networks. Inc Ail hak dilindhungi undhang-undhang. Juniper Networks, logo Juniper Networks, Juniper, Junos, lan merek dagang liyane minangka merek dagang kadhaptar saka Juniper Networks. inc. lan/utawa afiliasi ing Amerika Serikat lan negara liya. Jeneng liya bisa uga minangka merek dagang saka sing nduweni. Juniper Networks ora tanggung jawab kanggo akurasi ing dokumen iki. Juniper Networks nduweni hak kanggo ngganti. ngowahi. transfer, utawa mbenakake publikasi iki tanpa kabar.
Kirim tanggapan menyang: design-center-comments@juniper.net V1.0/240807/ejm5-telemetri-junos-ai-ml

Dokumen / Sumber Daya

Juniper NETWORKS Telemetry In Junos kanggo AI ML Workloads Software [pdf] Pandhuan pangguna
Telemetri Ing Junos kanggo AI ML Workloads Software, Junos kanggo AI ML Workloads Software, AI ML Workloads Software, Workloads Software, Software

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *