Juniper NETWORKS- logoTelemetria v Junos pre pracovné zaťaženie AI/ML
Autor: Shalini Mukherjee

Úvod

Keďže klastrová prevádzka AI vyžaduje bezstratové siete s vysokou priepustnosťou a nízkou latenciou, kritickým prvkom siete AI je zber monitorovacích údajov. Junos Telemetry umožňuje podrobné monitorovanie kľúčových ukazovateľov výkonu, vrátane prahových hodnôt a počítadiel pre riadenie preťaženia a vyrovnávanie dopravného zaťaženia. Relácie gRPC podporujú streamovanie telemetrických údajov. gRPC je moderný, open-source, vysoko výkonný rámec, ktorý je postavený na prenose HTTP/2. Umožňuje natívne obojsmerné streamovanie a obsahuje flexibilné vlastné metadáta v hlavičkách požiadaviek. Prvým krokom v telemetrii je vedieť, aké údaje sa majú zbierať. Tieto údaje potom môžeme analyzovať v rôznych formátoch. Keď údaje zhromaždíme, je dôležité ich prezentovať vo formáte, ktorý sa dá ľahko monitorovať, robiť rozhodnutia a zlepšovať ponúkané služby. V tomto článku používame telemetrický zásobník pozostávajúci z Telegraf, InfluxDB a Grafana. Tento zásobník telemetrie zhromažďuje údaje pomocou modelu push. Tradičné modely ťahania sú náročné na zdroje, vyžadujú manuálny zásah a mohli by obsahovať informačné medzery v údajoch, ktoré zhromažďujú. Push modely prekonávajú tieto obmedzenia tým, že doručujú údaje asynchrónne. Obohacujú údaje o užívateľsky prívetivé použitie tags a mená. Keď sú dáta v čitateľnejšom formáte, uložíme ich do databázy a použijeme v interaktívnej vizualizácii web aplikácia na analýzu siete. Obrázok. 1 nám ukazuje, ako je tento zásobník navrhnutý na efektívny zber, ukladanie a vizualizáciu údajov, od sieťových zariadení, ktoré tlačia údaje do kolektora, až po údaje, ktoré sa zobrazujú na paneloch na analýzu.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software -

TIG zásobník

Na inštaláciu všetkého softvéru vrátane zásobníka TIG sme použili server Ubuntu.

telegraf
Na zhromažďovanie údajov používame Telegraf na serveri Ubuntu so systémom 22.04.2. Verzia Telegraf spustená v tejto ukážke je 1.28.5.
Telegraf je serverový agent riadený doplnkami na zhromažďovanie a vykazovanie metrík. Používa procesor plugins obohatiť a normalizovať údaje. Výstup plugins sa používajú na odosielanie týchto údajov do rôznych dátových úložísk. V tomto dokumente používame dva plugins: jeden pre senzory openconfig a druhý pre natívne senzory Juniper.
InfluxDB
Na uloženie údajov do databázy časových radov používame InfluxDB. Výstupný plugin v Telegrafe odosiela dáta do InfluxDB, ktorá ich vysoko efektívnym spôsobom ukladá. Používame V1.8, pretože pre V2 a vyššie neexistuje CLI.
Grafana
Grafana sa používa na vizualizáciu týchto údajov. Grafana sťahuje údaje z InfluxDB a umožňuje používateľom vytvárať bohaté a interaktívne dashboardy. Tu používame verziu 10.2.2.

Konfigurácia na prepínači

Na implementáciu tohto zásobníka musíme najprv nakonfigurovať prepínač, ako je znázornené na obrázku 2. Použili sme port 50051. Tu je možné použiť akýkoľvek port. Prihláste sa do prepínača QFX a pridajte nasledujúcu konfiguráciu.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software – Switch

Poznámka: Táto konfigurácia je určená pre laboratóriá/POC, pretože heslo sa prenáša ako čistý text. Aby ste tomu zabránili, použite protokol SSL.

Životné prostredie

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software – Environment

Nginx
Toto je potrebné, ak nemôžete odhaliť port, na ktorom je hosťovaná Grafana. Ďalším krokom je inštalácia nginx na server Ubuntu, ktorý bude slúžiť ako reverzný proxy agent. Po nainštalovaní nginx pridajte riadky zobrazené na obrázku 4 do „predvoleného“ súboru a presuňte súbor z /etc/nginx do /etc/nginx/sites-enabled.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx1

Uistite sa, že je brána firewall nastavená tak, aby poskytovala úplný prístup k službe nginx, ako je znázornené na obrázku 5.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx2

Po nainštalovaní nginx a vykonaní požadovaných zmien by sme mali mať prístup ku Grafane z a web prehliadača pomocou IP adresy servera Ubuntu, kde je nainštalovaný všetok softvér.
V Grafane je malá chyba, ktorá vám neumožňuje obnoviť predvolené heslo. Ak narazíte na tento problém, použite tieto kroky.
Kroky, ktoré sa majú vykonať na serveri Ubuntu na nastavenie hesla v Grafane:

  • Prejdite na /var/lib/grafana/grafana.db
  • Nainštalujte sqllite3
    o sudo apt install sqlite3
  • Spustite tento príkaz na svojom termináli
    o sqlite3 grafana.db
  •  Otvorí sa príkazový riadok Sqlite; spustite nasledujúci dotaz:
    >odstrániť z používateľa kde login='admin'
  • Reštartujte grafana a zadajte admin ako užívateľské meno a heslo. Vyzve na zadanie nového hesla.

Keď je všetok softvér nainštalovaný, vytvorte konfiguračný súbor v Telegrafe, ktorý vám pomôže stiahnuť telemetrické údaje z prepínača a vložiť ich do InfluxDB.

Openconfig Sensor Plugin

Na serveri Ubuntu upravte súbor /etc/telegraf/telegraf.conf a pridajte všetky požadované plugins a senzory. Pre senzory openconfig používame doplnok gNMI zobrazený na obrázku 6. Na účely ukážky pridajte názov hostiteľa ako „spine1“, číslo portu „50051“, ktoré sa používa pre gRPC, používateľské meno a heslo prepínača a číslo sekúnd na opätovné vytáčanie v prípade zlyhania.
V sekcii predplatného pridajte jedinečný názov „cpu“ pre tento konkrétny senzor, cestu k senzoru a časový interval na získanie týchto údajov z prepínača. Pridajte rovnaký plugin inputs.gnmi a inputs.gnmi.subscription pre všetky otvorené konfiguračné senzory. (Obrázok 6)

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx3

Doplnok Native Sensor Plugin

Toto je doplnok telemetrického rozhrania Juniper používaný pre natívne senzory. Do toho istého súboru telegraf.conf pridajte natívny senzorový plugin inputs.jti_openconfig_telemetry, kde sú polia takmer rovnaké ako openconfig. Použite jedinečné ID klienta pre každý senzor; tu používame „telegraf3“. Jedinečný názov, ktorý sa tu používa pre tento senzor, je „mem“ (obrázok 7).

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx4

Nakoniec pridajte výstupný plugin outputs.influxdb na odoslanie týchto údajov senzora do InfluxDB. Tu je databáza pomenovaná „telegraf“ s užívateľským menom „influx“ a heslom „influxdb“ (obrázok 8).

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx5

Po úprave súboru telegraf.conf reštartujte službu telegraf. Teraz skontrolujte v InfluxDB CLI, aby ste sa uistili, že sú vytvorené merania pre všetky jedinečné senzory. Napíšte „influx“ pre vstup do InfluxDB CLI.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx6

Ako je vidieť na obrázku. 9, zadajte príkaz influxDB a použite databázu „telegraf“. Všetky jedinečné názvy priradené senzorom sú uvedené ako merania.
Ak chcete vidieť výstup akéhokoľvek merania, len aby ste sa uistili, že telegrafný súbor je správny a snímač funguje, použite príkaz „select * from cpu limit 1“, ako je znázornené na obrázku 10.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx7

Zakaždým, keď sa v súbore telegraf.conf vykonajú zmeny, nezabudnite zastaviť InfluxDB, reštartovať Telegraf a potom spustiť InfluxDB.
Prihláste sa do Grafany z prehliadača a vytvorte dashboardy po uistení sa, že údaje sa zhromažďujú správne.
Prejdite na Pripojenia > InfuxDB > Pridať nový zdroj údajov.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx8

  1. Pomenujte tento zdroj údajov. V tejto ukážke je to „test-1“.
  2.  V časti HTTP použite IP servera Ubuntu a port 8086.
    Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx9
  3. V detailoch InfluxDB použite rovnaký názov databázy „telegraf“ a zadajte používateľské meno a heslo servera Ubuntu.
  4. Kliknite na položku Uložiť a otestovať. Uistite sa, že vidíte správu „úspešné“.
    Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Nginx10
  5. Po úspešnom pridaní zdroja údajov prejdite na Panely a kliknite na položku Nové. Poďme vytvoriť niekoľko informačných panelov, ktoré sú nevyhnutné pre pracovné zaťaženie AI/ML v režime editora.

Exampsúbor grafov senzorov

Nasledujúce sú naprampniektoré hlavné počítadlá, ktoré sú nevyhnutné na monitorovanie siete AI/ML.
Percenttage využitie pre vstupné rozhranie et-0/0/0 na chrbtici-1
Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Grafy

  • Vyberte zdroj údajov ako test-1.
  • V časti FROM vyberte meranie ako „rozhranie“. Toto je jedinečný názov používaný pre túto dráhu snímača.
  • V časti KDE vyberte zariadenie::taga v tag hodnotu, vyberte názov hostiteľa prepínača, teda chrbticu1.
  • V sekcii SELECT vyberte vetvu snímača, ktorú chcete monitorovať; v tomto prípade zvoľte “field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)”. Teraz v tej istej sekcii kliknite na „+“ a pridajte túto výpočtovú matematiku (/50000000000 * 100). V podstate počítame percentátage využitie rozhrania 400G.
  • Uistite sa, že FORMÁT je „časový rad“ a pomenujte graf v časti ALIAS.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Graphs1Najvyššia obsadenosť vyrovnávacej pamäte pre akýkoľvek front

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Graphs2

  • Vyberte zdroj údajov ako test-1.
  • V časti FROM vyberte meranie ako „buffer“.
  • V sekcii WHERE sú tri polia, ktoré treba vyplniť. Vyberte zariadenie::taga v tag hodnota vyberte názov hostiteľa prepínača (tj chrbtica-1); A vyberte /cos/interfaces/interface/@name::tag a vyberte rozhranie (tj et- 0/0/0); A tiež vyberte front, /cos/interfaces/interface/queues/queue/@queue::tag a vyberte si poradie číslo 4.
  • V sekcii SELECT vyberte vetvu snímača, ktorú chcete monitorovať; v tomto prípade zvoľte „field(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy).“
  • Uistite sa, že FORMÁT je „časový rad“ a pomenujte graf v sekcii ALIAS.

Údaje pre viacero rozhraní môžete porovnávať na rovnakom grafe, ako je znázornené na obrázku 17 pre et-0/0/0, et-0/0/1, et-0/0/2 atď.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - Graphs3

PFC a ECN znamenajú derivát
Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software - odvodený

Na nájdenie strednej derivácie (rozdiel v hodnote v časovom rozsahu) použite režim nespracovaného dotazu.
Toto je dotaz na prílev, ktorý sme použili na nájdenie strednej derivácie medzi dvoma hodnotami PFC na et-0/0/0 Spine-1 za sekundu.
SELECT derivácia(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) FROM “interface” WHERE (“device”::tag = 'Chrbtica-1') A $timeFilter SKUPINA PODĽA času ($interval)

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software – podobne pre ECN

SELECT derivát(mean(“/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts”), 1s) FROM “interface” WHERE (“device”::tag = 'Chrbtica-1') A $timeFilter SKUPINA PODĽA času ($interval)

Telemetria Juniper NETWORKS v Junos pre softvér pracovných zaťažení AI ML – podobne pre ECN1

Chyby vstupných zdrojov znamenajú odvodenie

Telemetria Juniper NETWORKS v Junos pre softvér pracovných zaťažení AI ML – podobne pre ECN2

Nespracovaný dotaz na priemerný derivát chýb zdrojov je:
SELECT derivát(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors”), 1s) FROM “interface” WHERE (“device”::tag = 'Chrbtica-1') A $timeFilter SKUPINA PODĽA času ($interval)

Telemetria Juniper NETWORKS v Junos pre softvér pracovných zaťažení AI ML – podobne pre ECN3

Chvostové kvapky znamenajú derivát

Telemetria Juniper NETWORKS v Junos pre softvér pracovných zaťažení AI ML – podobne pre ECN4

Nespracovaný dopyt pre strednú deriváciu spadnutia chvosta je:
SELECT derivácia(priemer(“/cos/rozhrania/rozhranie/fronty/front/tailDropBytes”), 1s) FROM “buffer” WHERE (”zariadenie”::tag = 'Leaf-1' AND "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' AND “/cos/interfaces/interface/queues/queue/@queue”::tag = '4') A $timeFilter GROUP BY time($__interval) fill (null)
 využitie CPU

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software – využitie CPU

  • Vyberte zdroj údajov ako test-1.
  • V sekcii FROM vyberte meranie ako „newcpu“
  • V WHERE sú tri polia, ktoré treba vyplniť. Vyberte zariadenie::tag a v tag hodnota vyberte názov hostiteľa prepínača (tj chrbtica-1). A v /components/component/properties/property/name:taga vyberte cpuutilization-total AND in name::tag vyberte RE0.
  • V sekcii SELECT vyberte vetvu senzora, ktorú chcete monitorovať. V tomto prípade zvoľte „field(state/value)“.

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software – využitie CPU1

Surový dotaz na nájdenie nezápornej derivácie koncových kvapiek pre viaceré prepínače na viacerých rozhraniach v bitoch/s.
SELECT non_negative_derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s)*8 FROM “buffer” WHERE (zariadenie::tag =~ /^Spine-[1-2]$/) a („/cos/interfaces/interface/@name“::tag =~ /et-0\/0\/[0-9]/ alebo „/cos/interfaces/interface/@name“::tag=~/et-0\/0\/1[0-5]/) A $timeFilter GROUP BY time($__interval),zariadenie::tag vyplniť (null)

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software – využitie CPU2

Toto boli niektorí z bývalýchamppočet grafov, ktoré je možné vytvoriť na monitorovanie siete AI/ML.

Zhrnutie

Tento článok ilustruje spôsob získavania telemetrických údajov a ich vizualizácie pomocou vytvárania grafov. Tento dokument hovorí konkrétne o senzoroch AI/ML, natívnych aj openconfig, ale nastavenie možno použiť pre všetky druhy senzorov. Zahrnuli sme aj riešenia viacerých problémov, s ktorými sa môžete stretnúť pri vytváraní nastavenia. Kroky a výstupy zobrazené v tomto dokumente sú špecifické pre verzie zásobníka TIG spomenuté vyššie. Môže sa zmeniť v závislosti od verzie softvéru, snímačov a verzie Junos.

Referencie

Juniper Yang Data Model Explorer pre všetky možnosti senzorov
https://apps.juniper.net/ydm-explorer/
Openconfig fórum pre openconfig senzory
https://www.openconfig.net/projects/models/

Telemetria Juniper NETWORKS v Junos pre AI ML Workloads Software – ikona

Firemné a obchodné ústredie
Spoločnosť Juniper Networks, Inc.
1133 Inovačný spôsob
Sunnyvale, CA 94089, USA
Telefón: 888. JUNIPER (888.586.4737)
alebo +1.408.745.2000
Fax: +1.408.745.2100
www.juniper.net
Centrála pre APAC a EMEA
Juniper Networks International BV
Boeing Avenue 240
1119 PZ Schiphol-Rijk
Amsterdam, Holandsko
Telefón: +31.207.125.700 XNUMX XNUMX XNUMX
Fax: +31.207.125.701
Copyright 2023 Juniper Networks. Inc. Všetky práva vyhradené. Juniper Networks, logo Juniper Networks, Juniper, Junos a ďalšie ochranné známky sú registrované ochranné známky spoločnosti Juniper Networks. Inc. a/alebo jej pridružených spoločností v Spojených štátoch a iných krajinách. Ostatné názvy môžu byť ochrannými známkami ich príslušných vlastníkov. Juniper Networks nepreberá žiadnu zodpovednosť za akékoľvek nepresnosti v tomto dokumente. Juniper Networks si vyhradzuje právo na zmenu. upraviť. preniesť alebo inak upraviť túto publikáciu bez upozornenia.
Odoslať spätnú väzbu na: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml

Dokumenty / zdroje

Telemetria Juniper NETWORKS v Junos pre softvér pracovných zaťažení AI ML [pdf] Používateľská príručka
Telemetria v softvéri Junos for AI ML Workloads, Junos for AI ML Workloads Software, AI ML Workloads Software, Workloads Software, Software

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *