Juniper NETWORKS- loqoAI/ML iş yükləri üçün Junos-da telemetriya
Müəllif: Shalini Mukherjee

Giriş

AI klaster trafiki yüksək ötürmə qabiliyyəti və aşağı gecikmə ilə itkisiz şəbəkələr tələb etdiyindən, AI şəbəkəsinin kritik elementi monitorinq məlumatlarının toplanmasıdır. Junos Telemetry tıxacın idarə edilməsi və nəqliyyat yükünün tarazlaşdırılması üçün hədlər və sayğaclar da daxil olmaqla, əsas performans göstəricilərinin ətraflı monitorinqinə imkan verir. gRPC sessiyaları telemetriya məlumatlarının axınını dəstəkləyir. gRPC HTTP/2 nəqliyyatı üzərində qurulmuş müasir, açıq mənbəli, yüksək performanslı çərçivədir. O, yerli ikiistiqamətli axın imkanlarını gücləndirir və sorğu başlıqlarına çevik fərdi metadata daxildir. Telemetriyada ilkin addım hansı məlumatların toplanacağını bilməkdir. Sonra bu məlumatları müxtəlif formatlarda təhlil edə bilərik. Məlumatları topladıqdan sonra onu izləmək, qərar vermək və təklif olunan xidməti təkmilləşdirmək asan olan formatda təqdim etmək vacibdir. Bu yazıda biz Teleqraf, InfluxDB və Grafana-dan ibarət telemetriya yığınından istifadə edirik. Bu telemetriya yığını təkan modelindən istifadə edərək məlumatları toplayır. Ənənəvi çəkmə modelləri resurs tələb edir, əl ilə müdaxilə tələb edir və topladıqları məlumatlara informasiya boşluqlarını daxil edə bilər. Push modelləri məlumatları asinxron şəkildə çatdırmaqla bu məhdudiyyətləri aradan qaldırır. Onlar istifadəçi dostu istifadə edərək məlumatları zənginləşdirirlər tags və adlar. Məlumat daha oxunaqlı formatda olduqdan sonra biz onu verilənlər bazasında saxlayırıq və interaktiv vizuallaşdırmada istifadə edirik web şəbəkənin təhlili üçün proqram. Şəkil. Şəkil 1 bizə bu yığının məlumatların kollektora ötürülməsindən tutmuş, analiz üçün tablosunda göstərilən məlumatlara qədər səmərəli məlumatların toplanması, saxlanması və vizuallaşdırılması üçün necə hazırlandığını göstərir.

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya -

TIG yığını

TIG yığını daxil olmaqla bütün proqram təminatını quraşdırmaq üçün Ubuntu serverindən istifadə etdik.

Teleqraf
Məlumat toplamaq üçün biz 22.04.2 ilə işləyən Ubuntu serverində Teleqraf-dan istifadə edirik. Bu demoda işləyən Teleqraf versiyası 1.28.5-dir.
Teleqraf ölçüləri toplamaq və hesabat vermək üçün plaginlə idarə olunan server agentidir. Prosessordan istifadə edir plugins məlumatları zənginləşdirmək və normallaşdırmaq. Çıxış plugins Bu məlumatları müxtəlif məlumat anbarlarına göndərmək üçün istifadə olunur. Bu sənəddə biz iki istifadə edirik plugins: biri openconfig sensorları, digəri isə Juniper yerli sensorları üçün.
InfluxDB
Məlumatları zaman seriyası verilənlər bazasında saxlamaq üçün biz InfluxDB-dən istifadə edirik. Teleqraf-dakı çıxış plagini məlumatları çox səmərəli şəkildə saxlayan InfluxDB-yə göndərir. Biz V1.8-dən istifadə edirik, çünki V2 və daha yuxarı versiyalar üçün CLI mövcud deyil.
Qrafana
Grafana bu məlumatları vizuallaşdırmaq üçün istifadə olunur. Grafana InfluxDB-dən məlumatları götürür və istifadəçilərə zəngin və interaktiv tablolar yaratmağa imkan verir. Burada 10.2.2 versiyasını işlədirik.

Keçiddə Konfiqurasiya

Bu yığını həyata keçirmək üçün ilk növbədə keçidi Şəkil 2-də göstərildiyi kimi konfiqurasiya etməliyik. Biz 50051 portundan istifadə etmişik. Burada istənilən portdan istifadə etmək olar. QFX keçidinə daxil olun və aşağıdakı konfiqurasiyanı əlavə edin.

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Keçid

Qeyd: Parol aydın mətnlə ötürüldüyü üçün bu konfiqurasiya laboratoriyalar/POC-lər üçündür. Bunun qarşısını almaq üçün SSL istifadə edin.

Ətraf mühit

Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - Ətraf Mühit

Nginx
Grafana-nın yerləşdiyi portu ifşa edə bilmirsinizsə, bu lazımdır. Növbəti addım tərs proxy agent kimi xidmət etmək üçün Ubuntu serverində nginx quraşdırmaqdır. Nginx quraşdırıldıqdan sonra Şəkil 4-də göstərilən sətirləri “standart” fayla əlavə edin və faylı /etc/nginx-dən /etc/nginx/sites-enabled-ə köçürün.

Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - Nginx

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx1

Şəkil 5-də göstərildiyi kimi nginx xidmətinə tam girişi təmin etmək üçün təhlükəsizlik divarının tənzimləndiyinə əmin olun.

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx2

Nginx quraşdırıldıqdan və tələb olunan dəyişikliklər edildikdən sonra biz Grafana-ya daxil ola bilməliyik web bütün proqram təminatının quraşdırıldığı Ubuntu serverinin IP ünvanından istifadə edərək brauzer.
Grafana-da standart parolu sıfırlamağa imkan verməyən kiçik bir nasazlıq var. Bu problemlə qarşılaşsanız, bu addımları istifadə edin.
Grafana-da parol təyin etmək üçün Ubuntu serverində yerinə yetiriləcək addımlar:

  • /var/lib/grafana/grafana.db ünvanına keçin
  • Sqllite3 quraşdırın
    o sudo apt install sqlite3
  • Bu əmri terminalınızda işlədin
    o sqlite3 grafana.db
  •  Sqlite əmr sorğusu açılır; aşağıdakı sorğunu yerinə yetirin:
    >login='admin' olduğu istifadəçidən silin
  • Grafananı yenidən başladın və istifadəçi adı və parol kimi admin yazın. Yeni parol tələb edir.

Bütün proqram təminatı quraşdırıldıqdan sonra Teleqraf-da konfiqurasiya faylını yaradın ki, bu da keçiddən telemetriya məlumatlarını çıxarmağa və onu InfluxDB-yə itələməyə kömək edəcək.

Openconfig Sensor Plugin

Ubuntu serverində bütün tələb olunanları əlavə etmək üçün /etc/telegraf/telegraf.conf faylını redaktə edin. plugins və sensorlar. Openconfig sensorları üçün biz Şəkil 6-da göstərilən gNMI plaginindən istifadə edirik. Demo məqsədləri üçün host adını “spine1”, gRPC üçün istifadə olunan “50051” port nömrəsi, keçidin istifadəçi adı və parolu və nömrə kimi əlavə edin. uğursuzluq halında təkrar zəng üçün saniyə.
Abunə bəndində, bu xüsusi sensor üçün unikal ad, “cpu”, sensor yolu və bu məlumatı keçiddən tutmaq üçün vaxt intervalı əlavə edin. Bütün açıq konfiqurasiya sensorları üçün eyni plugin inputs.gnmi və inputs.gnmi.subscription əlavə edin. (Şəkil 6)

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx3

Native Sensor Plugin

Bu yerli sensorlar üçün istifadə edilən Juniper telemetriya interfeysi plaginidir. Eyni telegraf.conf faylında, sahələrin demək olar ki, openconfig ilə eyni olduğu inputs.jti_openconfig_telemetry yerli sensor plaginini əlavə edin. Hər sensor üçün unikal müştəri identifikatorundan istifadə edin; burada “teleqraf3” istifadə edirik. Bu sensor üçün burada istifadə edilən unikal ad “mem”dir (Şəkil 7).

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx4

Nəhayət, bu sensor məlumatlarını InfluxDB-yə göndərmək üçün outputs.influxdb çıxış plaginini əlavə edin. Burada verilənlər bazası “teleqraf” adlanır, istifadəçi adı “influx” və parol “influxdb” (Şəkil 8).

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx5

teleqraf.conf faylını redaktə etdikdən sonra teleqraf xidmətini yenidən başladın. İndi bütün unikal sensorlar üçün ölçmələrin yaradılıb-yaratılmadığını yoxlamaq üçün InfluxDB CLI-ni yoxlayın. InfluxDB CLI-ə daxil olmaq üçün “infiux” yazın.

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx6

Şəkildə göründüyü kimi. 9, influxDB sorğusunu daxil edin və “teleqraf” verilənlər bazasından istifadə edin. Sensorlara verilən bütün unikal adlar ölçmələr kimi qeyd olunur.
Hər hansı bir ölçmənin nəticəsini görmək üçün teleqraf faylının düzgün olduğuna və sensorun işlədiyinə əmin olmaq üçün Şəkil 1-da göstərildiyi kimi “Cpu limit 10-dən * seçin” əmrindən istifadə edin.

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx7

telegraf.conf faylına hər dəfə dəyişiklik ediləndə əmin olun ki, InfluxDB-ni dayandırın, Teleqraf-ı yenidən başladın və sonra InfluxDB-ni işə salın.
Brauzerdən Grafana-ya daxil olun və məlumatların düzgün toplanmasını təmin etdikdən sonra idarə panelləri yaradın.
Əlaqələr > InfuxDB > Yeni məlumat mənbəyi əlavə edin.

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx8

  1. Bu məlumat mənbəyinə ad verin. Bu demoda "test-1"dir.
  2.  HTTP bəndində Ubuntu server IP və 8086 portundan istifadə edin.
    Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx9
  3. InfluxDB təfərrüatlarında eyni verilənlər bazası adından, "teleqraf"dan istifadə edin və Ubuntu serverinin istifadəçi adı və parolunu təmin edin.
  4. Saxla və test et. "Uğurlu" mesajını gördüyünüzə əmin olun.
    Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - Nginx10
  5. Məlumat mənbəyi uğurla əlavə edildikdən sonra İdarə Panelinə keçin və Yeni düyməsini basın. Gəlin redaktor rejimində AI/ML iş yükləri üçün vacib olan bir neçə tablosunu yaradaq.

ExampSensor Qrafikləri

Aşağıdakılar keçmişdirampAI/ML şəbəkəsinin monitorinqi üçün vacib olan bəzi əsas sayğacların les.
Faiztagbel-0-də giriş interfeysi et-0/0/1 üçün e istifadə
Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - Qrafiklər

  • Məlumat mənbəyini test-1 olaraq seçin.
  • FROM bölməsində ölçməni "interfeys" olaraq seçin. Bu sensor yolu üçün istifadə edilən unikal addır.
  • HARA bölməsində cihazı seçin::tag, və içərisində tag dəyər, keçidin host adını, yəni spin1-i seçin.
  • SEÇİM bölməsində nəzarət etmək istədiyiniz sensor qolunu seçin; bu halda “field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)” seçin. İndi eyni bölmədə "+" üzərinə klikləyin və bu hesablama riyaziyyatını əlavə edin (/50000000000 * 100). Əsasən faizi hesablayırıqtage 400G interfeysindən istifadə.
  • FORMAT-ın “zaman seriyası” olduğuna əmin olun və ALIAS bölməsində qrafiki adlandırın.

Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - Qrafiklər1İstənilən növbə üçün pik bufer doluluğu

Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - Qrafiklər2

  • Məlumat mənbəyini test-1 olaraq seçin.
  • FROM bölməsində ölçməni “bufer” olaraq seçin.
  • HARADA bölməsində doldurulmalı üç sahə var. Cihaz seçin::tag, və içərisində tag dəyər keçidin host adını seçin (yəni spin-1); VƏ /cos/interfaces/interface/@name seçin::tag və interfeysi seçin (yəni et- 0/0/0); VƏ həmçinin növbəni seçin, /cos/interfaces/interface/queues/queue/@queue::tag və 4 nömrəli növbəni seçin.
  • SEÇİM bölməsində nəzarət etmək istədiyiniz sensor qolunu seçin; bu halda “field(/cos/interfaces/interface/queues/queue/PeakBufierOccupancy)” seçin.
  • FORMAT-ın “zaman seriyası” olduğuna əmin olun və ALIAS bölməsində qrafiki adlandırın.

Siz et-17/0/0, et-0/0/0, et-1/0/0 və s. üçün Şəkil 2-də göründüyü kimi eyni qrafikdə çoxlu interfeyslər üçün məlumatları birləşdirə bilərsiniz.

Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - Qrafiklər3

PFC və ECN törəmə deməkdir
Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - törəmə

Orta törəməni tapmaq üçün (zaman intervalında dəyər fərqi) xam sorğu rejimindən istifadə edin.
Bu, bir saniyə ərzində Spine-0-in et-0/0/1-da iki PFC dəyəri arasında orta törəməni tapmaq üçün istifadə etdiyimiz axın sorğusudur.
SELECT törəməsi(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) FROM “interface” HERE (“cihaz”::tag = 'Onurğa-1') VƏ $timeFilter GROUP BY time($interval)

Juniper NETWORKS Telemetriya Junos-da AI ML İş Yükləri Proqramı üçün - Eynilə ECN üçün

SELECT törəməsi(mean(“/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts”), 1s) FROM “interface” HARADA (“cihaz”::tag = 'Onurğa-1') VƏ $timeFilter GROUP BY time($interval)

Juniper NETWORKS AI ML iş yükləri proqramı üçün Junos-da Telemetriya - ECN1 üçün də eynilə

Giriş resursunun səhvləri törəmə deməkdir

Juniper NETWORKS AI ML iş yükləri proqramı üçün Junos-da Telemetriya - ECN2 üçün də eynilə

Resurs səhvləri üçün xam sorğu törəmə deməkdir:
SELECT törəməsi(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors”), 1s) FROM “interface” HERE (“cihaz”::tag = 'Onurğa-1') VƏ $timeFilter GROUP BY time($interval)

Juniper NETWORKS AI ML iş yükləri proqramı üçün Junos-da Telemetriya - ECN3 üçün də eynilə

Quyruq damlaları törəmə deməkdir

Juniper NETWORKS AI ML iş yükləri proqramı üçün Junos-da Telemetriya - ECN4 üçün də eynilə

Quyruq damlaları üçün xam sorğu törəmə deməkdir:
SELECT törəməsi(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s) FROM “bufer” HARADA (“cihaz”::tag = 'Yarpaq-1' VƏ "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' VƏ “/cos/interfaces/interface/queues/queue/@queue”::tag = '4') VƏ $timeFilter GROUP BY time($__interval) fill(null)
 CPU istifadəsi

Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - CPU istifadəsi

  • Məlumat mənbəyini test-1 olaraq seçin.
  • FROM bölməsində ölçməni "newcpu" olaraq seçin
  • HARADA, doldurulmalı üç sahə var. Cihaz seçin::tag və içində tag dəyər keçidin host adını seçin (yəni spin-1). AND /components/component/properties/property/name:tag, və adında cpuutilization-total AND seçin::tag RE0 seçin.
  • SEÇİM bölməsində nəzarət etmək istədiyiniz sensor qolunu seçin. Bu halda, "sahə (vəziyyət/dəyər)" seçin.

Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - CPU istifadəsi1

Çoxlu interfeyslərdə çoxlu keçidlər üçün bit/saniyə ilə mənfi olmayan quyruq törəməsinin tapılması üçün xam sorğu.
Mənfi olmayan_törəmə SEÇİN(orta("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s)*8 "bufer"DƏN HARADA (cihaz::tag =~ /^Spine-[1-2]$/) və (“/cos/interfaces/interface/@name”::tag =~ /et-0\/0\/[0-9]/ və ya “/cos/interfaces/interface/@name”::tag=~/et-0\/0\/1[0-5]/) VƏ $timeFilter GROUP BY time($__interval),cihaz::tag doldurmaq (null)

Juniper NETWORKS AI ML İş Yükləri Proqramı üçün Junos-da Telemetriya - CPU istifadəsi2

Bunlar keçmişdən bəziləri idiampAI/ML şəbəkəsinin monitorinqi üçün yaradıla bilən qrafiklər.

Xülasə

Bu yazı telemetriya məlumatlarının çəkilməsi və qrafiklər yaratmaqla vizuallaşdırılması üsulunu təsvir edir. Bu məqalə həm yerli, həm də açıq konfiqurasiyalı AI/ML sensorları haqqında xüsusi olaraq danışır, lakin quraşdırma bütün növ sensorlar üçün istifadə edilə bilər. Quraşdırma yaratarkən qarşılaşa biləcəyiniz bir çox problemin həlli yollarını da daxil etdik. Bu sənəddə təsvir olunan addımlar və çıxışlar əvvəllər qeyd olunan TIG yığınının versiyaları üçün spesifikdir. Proqram təminatının versiyasından, sensorlardan və Junos versiyasından asılı olaraq dəyişdirilə bilər.

İstinadlar

Bütün sensor seçimləri üçün Juniper Yang Data Model Explorer
https://apps.juniper.net/ydm-explorer/
Openconfig sensorlar üçün Openconfig forumu
https://www.openconfig.net/projects/models/

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya - ikon

Korporativ və Satış Baş Qərargahı
Juniper Networks, Inc.
1133 İnnovasiya Yolu
Sunnyvale, CA 94089 ABŞ
Telefon: 888. JUNIPER (888.586.4737)
və ya +1.408.745.2000
Faks: +1.408.745.2100
www.juniper.net
APAC və EMEA Baş Qərargahı
Juniper Networks International BV
Boeing prospekti 240
1119 PZ Schiphol-Rijk
Amsterdam, Hollandiya
Telefon: +31.207.125.700
Faks: +31.207.125.701
Copyright 2023 Juniper Networks. Inc. Mülkiyyət hüquqları qorunur. Juniper Networks, Juniper Networks loqosu, Juniper, Junos və digər ticarət nişanları Juniper Networks-in qeydiyyatdan keçmiş ticarət nişanlarıdır. inc. və/və ya onun ABŞ və digər ölkələrdəki filialları. Digər adlar müvafiq sahiblərinin ticarət nişanları ola bilər. Juniper Networks bu sənəddəki hər hansı qeyri-dəqiqliyə görə heç bir məsuliyyət daşımır. Juniper Networks dəyişmək hüququnu özündə saxlayır. dəyişdirmək. köçürmək və ya xəbərdarlıq etmədən bu nəşri başqa şəkildə dəyişdirmək.
Rəy göndərin: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml

Sənədlər / Resurslar

Juniper NETWORKS AI ML İş Yükləmə Proqramı üçün Junos-da Telemetriya [pdf] İstifadəçi təlimatı
AI ML İş Yükü Proqramı üçün Junos-da Telemetriya, AI ML İş Yükü Proqramı üçün Junos, AI ML İş Yükü Proqramı, İş Yükü Proqramı, Proqram təminatı

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *