Juniper NETWORKS- logoTelemétri di Junos pikeun AI / ML Workloads
Panulis: Shalini Mukherjee

Bubuka

Kusabab lalulintas klaster AI merlukeun jaringan lossless kalawan throughput tinggi na latency low, unsur kritis jaringan AI nyaeta kumpulan data monitoring. Junos Telemetry ngamungkinkeun ngawaskeun granular tina indikator kinerja konci, kalebet ambang sareng lokét pikeun manajemén kamacetan sareng kasaimbangan beban lalu lintas. Sesi gRPC ngadukung streaming data telemétri. gRPC mangrupakeun modern, open-source, kerangka kinerja tinggi anu diwangun dina angkutan HTTP / 2. Éta nguatkeun kamampuan streaming bidirectional asli sareng kalebet metadata khusus anu fleksibel dina lulugu pamundut. Léngkah awal dina telemétri nyaéta terang naon data anu bakal dikumpulkeun. Urang teras tiasa nganalisis data ieu dina sababaraha format. Sakali kami ngumpulkeun data, penting pikeun nampilkeunana dina format anu gampang diawaskeun, nyandak kaputusan sareng ningkatkeun jasa anu ditawarkeun. Dina makalah ieu, kami nganggo tumpukan telemétri anu diwangun ku Telegraf, InfluxDB, sareng Grafana. Tumpukan telemétri ieu ngumpulkeun data ngagunakeun modél push. Modél tarikan tradisional nyaéta sumberdaya-intensif, merlukeun campur manual, sarta bisa ngawengku sela informasi dina data aranjeunna ngumpulkeun. Modél push nungkulan watesan ieu ku cara ngirimkeun data asynchronously. Aranjeunna enrich data ku ngagunakeun ramah-pamaké tags jeung ngaran. Sakali data aya dina format nu leuwih bisa dibaca, urang nyimpen eta dina database sarta ngagunakeun eta dina visualisasi interaktif web aplikasi pikeun nganalisis jaringan. Angka. 1 nunjukkeun ka urang kumaha tumpukan ieu dirancang pikeun ngumpulkeun data, neundeun, sareng visualisasi anu efisien, tina alat jaringan anu ngadorong data ka kolektor dugi ka data anu dipidangkeun dina dasbor pikeun dianalisis.

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software -

TIG tumpukan

Kami nganggo server Ubuntu pikeun masang sadaya parangkat lunak kalebet tumpukan TIG.

Telegraf
Pikeun ngumpulkeun data, kami nganggo Telegraf dina server Ubuntu anu ngajalankeun 22.04.2. Versi Telegraf dijalankeun dina demo ieu 1.28.5.
Telegraf mangrupikeun agén server anu didorong ku plugin pikeun ngumpulkeun sareng ngalaporkeun métrik. Éta ngagunakeun prosésor plugins pikeun ngeuyeuban jeung normalisasi data. Kaluaran plugins dipaké pikeun ngirim data ieu ka sagala rupa toko data. Dina dokumén ieu kami nganggo dua plugins: hiji keur sénsor openconfig jeung nu séjén pikeun sénsor pribumi Juniper.
InfluxDB
Pikeun nyimpen data dina database runtuyan waktu, urang ngagunakeun InfluxDB. Plugin kaluaran dina Telegraf ngirim data ka InfluxDB, anu nyimpenna dina cara anu éfisién pisan. Kami nganggo V1.8 sabab teu aya CLI pikeun V2 sareng saluhureuna.
Grafana
Grafana dianggo pikeun ngabayangkeun data ieu. Grafana narik data ti InfluxDB sareng ngamungkinkeun para pangguna nyiptakeun dasbor anu beunghar sareng interaktif. Di dieu, urang ngajalankeun versi 10.2.2.

Konfigurasi Dina Switch

Pikeun nerapkeun tumpukan ieu, urang mimiti kudu ngonpigurasikeun saklar sakumaha ditémbongkeun dina Gambar 2. Kami geus dipaké port 50051. port mana wae bisa dipaké di dieu. Asup ka saklar QFX tur tambahkeun konfigurasi di handap ieu.

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Switch

Catetan: Konfigurasi ieu kanggo labs/POCs sabab sandi dikirimkeun dina téks jelas. Anggo SSL pikeun nyegah ieu.

Lingkungan

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

Nginx
Ieu diperyogikeun upami anjeun henteu tiasa ngalaan palabuhan dimana Grafana di-host. Lengkah saterusna nyaeta masang nginx dina server Ubuntu pikeun ngawula ka salaku agén proxy sabalikna. Sakali nginx dipasang, tambahkeun garis anu dipidangkeun dina Gambar 4 kana file "standar" sareng pindahkeun file tina /etc/nginx ka /etc/nginx/sites-enabled.

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

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx1

Pastikeun yén firewall disaluyukeun pikeun masihan aksés pinuh ka layanan nginx sakumaha ditémbongkeun dina Gambar 5.

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx2

Sakali nginx dipasang sareng parobihan anu diperyogikeun dilakukeun, urang kedah tiasa ngaksés Grafana tina a web browser ku ngagunakeun alamat IP tina server Ubuntu dimana sakabeh software dipasang.
Aya glitch leutik di Grafana anu henteu ngantep anjeun ngareset kecap konci standar. Anggo léngkah-léngkah ieu upami anjeun ngalaman masalah ieu.
Léngkah-léngkah anu kedah dilakukeun dina server Ubuntu pikeun nyetél sandi dina Grafana:

  • Pindah ka /var/lib/grafana/grafana.db
  • Pasang sqlite3
    o sudo apt install sqlite3
  • Jalankeun paréntah ieu dina terminal anjeun
    o sqlite3 grafana.db
  •  Sqlite paréntah ajakan muka; ngajalankeun query di handap ieu:
    > Hapus ti pamaké mana login = 'admin'
  • Balikan deui grafana sareng ngetik admin salaku nami pangguna sareng kecap akses. Ieu nyarankeun pikeun sandi anyar.

Sakali sadaya parangkat lunak dipasang, jieun file config dina Telegraf anu bakal ngabantosan narik data telemétri tina saklar teras nyorong ka InfluxDB.

Openconfig Sensor Plugin

Dina server Ubuntu, édit file /etc/telegraf/telegraf.conf pikeun nambahkeun sagala nu diperlukeun plugins jeung sénsor. Pikeun sensor openconfig, kami nganggo plugin gNMI anu dipidangkeun dina Gambar 6. Pikeun tujuan demo, tambahkeun hostname salaku "spine1", nomer port "50051" anu dianggo pikeun gRPC, nami pangguna sareng kecap akses saklar, sareng nomerna. detik pikeun nelepon deui bisi gagal.
Dina stanza langganan, tambahkeun ngaran unik, "cpu" pikeun sensor husus ieu, jalur sensor, sarta interval waktu pikeun grab data ieu ti saklar. Tambahkeun inputs.gnmi sareng inputs.gnmi.subscription anu sami pikeun sadaya sénsor konfigurasi anu kabuka. (Gambar 6)

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx3

Aslina Sénsor Plugin

Ieu mangrupikeun plugin antarmuka telemétri Juniper anu dianggo pikeun sensor asli. Dina file telegraf.conf anu sami, tambahkeun inputs.jti_openconfig_telemetry plugin sensor asli dimana widangna ampir sami sareng openconfig. Paké ID klien unik pikeun unggal sensor; di dieu, kami nganggo "telegraf3". Ngaran unik dipaké di dieu pikeun sensor ieu "mem" (Gambar 7).

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx4

Panungtungan, tambahkeun output plugins.influxdb pikeun ngirim data sensor ieu ka InfluxDB. Di dieu, pangkalan data dingaranan "telegraf" kalayan nami pangguna salaku "influx" sareng kecap akses "influxdb" (Gambar 8).

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx5

Sakali anjeun ngédit file telegraf.conf, balikan deui ladenan telegraf. Ayeuna, pariksa dina InfluxDB CLI pikeun mastikeun lamun pangukuran dijieun pikeun sakabéh sensor unik. Ketik "influx" pikeun ngasupkeun InfluxDB CLI.

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx6

Saperti katempo dina Gambar. 9, lebetkeun ajakan influxDB sareng nganggo pangkalan data "telegraf". Sadaya nami unik anu dipasihkeun ka sénsor didaptarkeun salaku ukuran.
Pikeun ningali kaluaran tina hiji ukuran, ngan pikeun mastikeun file telegraf leres sareng sénsorna jalan, paké paréntah "pilih * tina wates CPU 1" sapertos anu dipidangkeun dina Gambar 10.

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx7

Saban parobahan dilakukeun kana file telegraf.conf, pastikeun pikeun ngeureunkeun InfluxDB, balikan deui Telegraf, teras mimitian InfluxDB.
Asup ka Grafana tina browser sareng jieun dasbor saatos mastikeun yén data dikumpulkeun leres.
Buka Sambungan> InfuxDB> Tambahkeun sumber data anyar.

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx8

  1. Pasihan nami sumber data ieu. Dina demo ieu "test-1".
  2.  Dina stanza HTTP, paké IP server Ubuntu sareng port 8086.
    Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx9
  3. Dina detil InfluxDB, paké ngaran pangkalan data anu sami, "telegraf," sareng nyayogikeun nami pangguna sareng kecap akses server Ubuntu.
  4. Klik Simpen & uji. Pastikeun yén anjeun ningali pesen, "suksés".
    Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Nginx10
  5. Sakali sumber data hasil ditambahkeun, buka Dashboards teras klik Anyar. Hayu urang ngadamel sababaraha dasbor anu penting pikeun beban kerja AI / ML dina modeu redaktur.

Examples Of Sénsor Grafik

Di handap ieu examples tina sababaraha counters utama anu penting pikeun ngawas hiji AI / jaringan ML.
Persentage utilization pikeun panganteur ingress et-0/0/0 on tulang tonggong-1
Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Grafik

  • Pilih sumber data salaku tés-1.
  • Dina bagian FROM, pilih pangukuran salaku "antarmuka". Ieu mangrupikeun nami unik anu dianggo pikeun jalur sensor ieu.
  • Dina bagian WHERE, pilih alat::tag, sarta dina tag nilai, pilih hostname of switch, nyaeta, spine1.
  • Dina bagian PILIH, pilih cabang sensor nu Anjeun hoyong monitor; Dina hal ieu, pilih "field (/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)". Ayeuna dina bagian anu sami, klik "+" sareng tambahkeun math itungan ieu (/50000000000 * 100). Kami dasarna ngitung persentage utilization of a panganteur 400G.
  • Pastikeun FORMAT nyaéta "runtuyan waktos," sareng namikeun grafik dina bagian ALIAS.

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Graphs1Puncak panyangga occupancy pikeun antrian nanaon

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

  • Pilih sumber data salaku tés-1.
  • Dina bagian FROM, pilih pangukuran salaku "penyangga".
  • Dina bagian WHERE, aya tilu widang pikeun dieusi. Pilih alat::tag, sarta dina tag nilai pilih hostname of switch (ie tulang tonggong-1); AND pilih /cos/interfaces/interface/@name::tag tur pilih panganteur (ie et- 0/0/0); AND pilih antrian ogé, /cos/interfaces/interface/queues/queue/@queue::tag sareng pilih nomer antrian 4.
  • Dina bagian PILIH, pilih cabang sensor nu Anjeun hoyong monitor; Dina hal ieu, pilih "field(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy)."
  • Pastikeun FORMAT nyaéta "runtuyan waktos" sareng namikeun grafik dina bagian ALIAS.

Anjeun tiasa ngumpulkeun data pikeun sababaraha interfaces dina grafik anu sarua sakumaha katingal dina Gambar 17 pikeun et-0/0/0, et-0/0/1, et-0/0/2 jsb.

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

PFC jeung ECN hartina turunan
Juniper NETWORKS Telemetry Dina Junos pikeun AI ML Workloads Software - turunan

Pikeun manggihan rata-rata turunan (perbédaan nilai dina rentang waktu), paké mode query atah.
Ieu query influx anu kami geus dipaké pikeun manggihan turunan mean antara dua nilai PFC on et-0/0/0 of Spine-1 dina detik.
PILIH turunan (hartosna ("/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts"), 1s) TI "interface" WHERE ("alat"::tag = 'Spine-1') JEUNG $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Kitu ogé pikeun ECN

PILIH turunan (hartosna ("/interfaces/interface [if_name = 'et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts"), 1s) TI "interface" WHERE ("alat"::tag = 'Spine-1') JEUNG $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Kitu ogé pikeun ECN1

Kasalahan sumber input hartosna turunan

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Kitu ogé pikeun ECN2

Patarosan atah pikeun kasalahan sumberdaya hartosna turunan nyaéta:
PILIH turunan (hartosna ("/interfaces/interface [if_name = 'et-0/0/0′]/state/error-counters/if_in_resource_errors"), 1s) Tina "interface" WHERE ("alat"::tag = 'Spine-1') JEUNG $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Kitu ogé pikeun ECN3

Buntut tetes hartina turunan

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - Kitu ogé pikeun ECN4

Paménta atah pikeun turunan buntut hartosna nyaéta:
PILIH turunan (hartosna ("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s) Tina "buffer" WHERE ("alat"::tag = 'Daun-1' JEUNG "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' AND "/cos/interfaces/interface/queues/queue/@queue"::tag = '4') JEUNG $timeFilter GROUP BY time($__interval) fill(null)
 utilization CPU

Juniper NETWORKS Telemetry Dina Junos pikeun AI ML Workloads Software - utilization CPU

  • Pilih sumber data salaku tés-1.
  • Dina bagian FROM, pilih pangukuran salaku "newcpu"
  • Dina WHERE, aya tilu widang pikeun dieusi. Pilih alat::tag jeung di tag nilai pilih hostname of switch (ie tulang tonggong-1). AND dina /komponén/komponén/properties/property/name:tag, tur pilih cpuutilization-total AND dina ngaran::tag pilih RE0.
  • Dina bagian PILIH, pilih cabang sensor nu Anjeun hoyong monitor. Dina hal ieu, pilih "widang (kaayaan/nilai)".

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - CPU utilization1

Patarosan atah pikeun manggihan turunan non-négatip tina tetes buntut pikeun sababaraha switch dina sababaraha interfaces dina bit/detik.
PILIH non_negative_derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s)*8 TINA “buer” WHERE (alat::tag =~ /^Spine-[1-2]$/) jeung (“/cos/interfaces/interface/@name”::tag =~ /et-0\/0\/[0-9]/ atawa "/cos/interfaces/interface/@name"::tag=~/et-0\/0\/1[0-5]/) JEUNG $timeFilter GROUP BY time($__interval),alat::tag eusian (null)

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software - CPU utilization2

Ieu sababaraha mantanamples tina grafik nu bisa dijieun pikeun ngawas hiji AI / jaringan ML.

Ringkesan

Tulisan ieu ngagambarkeun metode narik data telemétri sareng visualisasi ku cara nyiptakeun grafik. Tulisan ieu sacara khusus nyarioskeun ngeunaan sénsor AI/ML, boh asli sareng openconfig tapi setelanna tiasa dianggo pikeun sagala jinis sénsor. Kami ogé parantos ngalebetkeun solusi pikeun sababaraha masalah anu anjeun tiasa nyanghareupan nalika nyiptakeun setelan. Léngkah-léngkah sareng kaluaran anu dijelaskeun dina tulisan ieu khusus pikeun vérsi tumpukan TIG anu disebatkeun sateuacana. Éta tiasa robih gumantung kana versi parangkat lunak, sénsor sareng versi Junos.

Rujukan

Juniper Yang Data Modél Explorer pikeun sakabéh pilihan sensor
https://apps.juniper.net/ydm-explorer/
Forum Openconfig pikeun sénsor openconfig
https://www.openconfig.net/projects/models/

Juniper NETWORKS Telemetry Dina Junos pikeun AI ML Workloads Software - ikon

Markas Perusahaan sareng Penjualan
Juniper Networks, Nyarita.
1133 Inovasi Jalan
Sunnyvale, CA 94089 AS
Telepon: 888. JUNIPER (888.586.4737)
atawa +1.408.745.2000
Fax: +1.408.745.2100
www.juniper.net
Markas APAC sareng EMEA
Juniper Jaringan Internasional BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amsterdam, Walanda
Telepon: +31.207.125.700
Fax: +31.207.125.701
Hak Cipta 2023 Juniper Networks. Nyarita hak Ail ditangtayungan. Juniper Networks, logo Juniper Networks, Juniper, Junos, sareng mérek dagang sanésna mangrupikeun mérek dagang kadaptar ti Juniper Networks. Nyarita jeung/atawa affiliates na di Amérika Serikat jeung nagara séjén. Ngaran séjén bisa jadi mérek dagang ti nu bogana. Juniper Networks nganggap euweuh tanggung jawab sagala akurat dina dokumen ieu. Juniper Networks boga hak pikeun ngarobah. ngaropea. mindahkeun, atawa lamun heunteu ngarévisi ieu publikasi tanpa aya bewara.
Kirim tanggapan ka: design-center-comments@juniper.net V1.0/240807/ejm5-telemétri-junos-ai-ml

Dokumén / Sumberdaya

Juniper NETWORKS Telemetry In Junos pikeun AI ML Workloads Software [pdf] Pituduh pamaké
Telemétri Dina Junos pikeun AI ML Workloads Software, Junos pikeun AI ML Workloads Software, AI ML Workloads Software, Workloads Software, Software

Rujukan

Ninggalkeun komentar

alamat surélék anjeun moal diterbitkeun. Widang diperlukeun ditandaan *