Juniper NETWORKS- логоAI/ML ажлын ачаалалд зориулсан Junos дахь телеметри
Зохиогч: Шалини Мукержи

Танилцуулга

AI кластерын урсгал нь өндөр дамжуулах чадвар, хоцрогдол багатай алдагдалгүй сүлжээг шаарддаг тул AI сүлжээний чухал элемент бол хяналтын өгөгдөл цуглуулах явдал юм. Junos Telemetry нь түгжрэлийг зохицуулах, хөдөлгөөний ачааллыг тэнцвэржүүлэх босго, тоолуур зэрэг гүйцэтгэлийн үндсэн үзүүлэлтүүдийг нарийвчлан хянах боломжийг олгодог. gRPC сесс нь телеметрийн өгөгдлийн урсгалыг дэмждэг. gRPC нь HTTP/2 тээвэрлэлт дээр бүтээгдсэн орчин үеийн, нээлттэй эх сурвалжтай, өндөр гүйцэтгэлтэй хүрээ юм. Энэ нь хоёр чиглэлтэй урсгал дамжуулах чадварыг идэвхжүүлж, хүсэлтийн толгой хэсэгт уян хатан захиалгат мета өгөгдлийг агуулдаг. Телеметрийн эхний алхам бол ямар өгөгдөл цуглуулахыг мэдэх явдал юм. Дараа нь бид энэ өгөгдлийг янз бүрийн форматаар шинжлэх боломжтой. Бид өгөгдлийг цуглуулсны дараа үүнийг хянах, шийдвэр гаргах, санал болгож буй үйлчилгээг сайжруулахад хялбар хэлбэрээр танилцуулах нь чухал юм. Энэ нийтлэлд бид Telegraf, InfluxDB болон Grafana-аас бүрдсэн телеметрийн стекийг ашигладаг. Энэхүү телеметрийн стек нь түлхэх загвар ашиглан өгөгдлийг цуглуулдаг. Уламжлалт татах загварууд нь нөөц ихтэй, гарын авлагын оролцоо шаарддаг бөгөөд цуглуулсан өгөгдөлдөө мэдээллийн цоорхойг багтааж болно. Түлхэх загварууд нь өгөгдлийг асинхрон байдлаар хүргэх замаар эдгээр хязгаарлалтыг даван туулдаг. Тэд хэрэглэгчдэд ээлтэй байдлаар өгөгдлийг баяжуулдаг tags болон нэрс. Өгөгдлийг илүү унших боломжтой форматтай болсны дараа бид үүнийг мэдээллийн санд хадгалж, интерактив дүрслэлд ашигладаг web сүлжээнд дүн шинжилгээ хийх програм. Зураг. 1-р зурагт энэхүү стек нь өгөгдлийг цуглуулагч руу дамжуулах сүлжээний төхөөрөмжөөс эхлээд хяналтын самбарт дүн шинжилгээ хийх хүртэл өгөгдөл цуглуулах, хадгалах, дүрслэн харуулахад хэрхэн зориулагдсан болохыг харуулж байна.

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри -

TIG стек

Бид TIG стек зэрэг бүх программ хангамжийг суулгахдаа Ubuntu сервер ашигласан.

Телеграф
Мэдээлэл цуглуулахын тулд бид 22.04.2 үйлдлийн системтэй Ubuntu сервер дээр Telegraf ашигладаг. Энэхүү демо дээр ажиллаж байгаа Telegraf хувилбар нь 1.28.5.
Telegraf бол хэмжигдэхүүнийг цуглуулах, мэдээлэх зориулалттай залгаас дээр суурилсан серверийн агент юм. Энэ нь процессор ашигладаг plugins өгөгдлийг баяжуулж, хэвийн болгох. Гаралт plugins Энэ өгөгдлийг янз бүрийн мэдээллийн сан руу илгээхэд ашигладаг. Энэ баримт бичигт бид хоёрыг ашигладаг plugins: нэг нь openconfig мэдрэгч, нөгөө нь Juniper оригинал мэдрэгч.
InfluxDB
Хугацааны цуврал мэдээллийн санд өгөгдлийг хадгалахын тулд бид InfluxDB ашигладаг. Telegraf дахь гаралтын залгаас нь өгөгдлийг InfluxDB руу илгээдэг бөгөөд энэ нь түүнийг өндөр үр ашигтай байдлаар хадгалдаг. V1.8 болон түүнээс дээш хувилбаруудад CLI байхгүй тул бид V2-г ашиглаж байна.
Графана
Графана нь энэ өгөгдлийг дүрслэн харуулахад ашиглагддаг. Grafana нь InfluxDB-ээс өгөгдлийг татаж, хэрэглэгчдэд баялаг, интерактив хяналтын самбар үүсгэх боломжийг олгодог. Энд бид 10.2.2 хувилбарыг ажиллуулж байна.

Шилжүүлэгч дээрх тохиргоо

Энэ стекийг хэрэгжүүлэхийн тулд бид эхлээд свичийг Зураг 2-т үзүүлсэн шиг тохируулах хэрэгтэй. Бид 50051 портыг ашигласан. Энд дурын портыг ашиглаж болно. QFX шилжүүлэгч рүү нэвтэрч дараах тохиргоог нэмнэ үү.

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

Жич: Нууц үг нь тодорхой текстээр дамждаг тул энэ тохиргоо нь лабораторид/POC-д зориулагдсан болно. Үүнээс зайлсхийхийн тулд SSL ашиглана уу.

Байгаль орчин

Juniper NETWORKS Telemetry in Junos for AI ML Workloads Software - Байгаль орчин

Nginx
Хэрэв та Grafana-г байршуулсан портыг нээх боломжгүй бол энэ нь шаардлагатай. Дараагийн алхам бол урвуу прокси агент болохын тулд Ubuntu сервер дээр nginx суулгах явдал юм. Nginx суулгасны дараа 4-р зурагт үзүүлсэн мөрүүдийг "өгөгдмөл" файлд нэмж, файлыг /etc/nginx-аас /etc/nginx/sites-enabled руу шилжүүлнэ.

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx1

Зураг 5-т үзүүлсэн шиг nginx үйлчилгээнд бүрэн хандах боломжийг олгохын тулд галт ханыг тохируулсан эсэхийг шалгаарай.

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx2

Nginx суулгаж, шаардлагатай өөрчлөлтүүд хийгдсэний дараа бид a-аас Grafana-д хандах боломжтой болно web бүх програм хангамж суулгасан Ubuntu серверийн IP хаягийг ашиглан хөтөч.
Grafana-д жижиг алдаа гарсан бөгөөд энэ нь таныг анхдагч нууц үгээ шинэчлэх боломжийг олгодоггүй. Хэрэв та энэ асуудалтай тулгарвал эдгээр алхмуудыг ашиглана уу.
Grafana-д нууц үг тохируулахын тулд Ubuntu сервер дээр хийх алхамууд:

  • /var/lib/grafana/grafana.db руу очно уу
  • sqllite3 суулгана уу
    o sudo apt суулгах sqlite3
  • Энэ командыг терминал дээрээ ажиллуулна уу
    o sqlite3 grafana.db
  •  Sqlite тушаалын мөр нээгдэнэ; дараах асуулга ажиллуулна уу:
    >login='admin' байгаа хэрэглэгчээс устгах
  • Графана дахин эхлүүлээд админыг хэрэглэгчийн нэр, нууц үгээр бичнэ үү. Энэ нь шинэ нууц үг оруулахыг шаарддаг.

Бүх программ хангамжийг суулгасны дараа Telegraf-д тохиргооны файлыг үүсгэн, шилжүүлэгчээс телеметрийн өгөгдлийг гаргаж, InfluxDB руу түлхэхэд тусална.

Openconfig мэдрэгч залгаас

Ubuntu сервер дээр /etc/telegraf/telegraf.conf файлыг засварлаж, шаардлагатай бүх зүйлийг нэмнэ үү. plugins болон мэдрэгч. Openconfig мэдрэгчийн хувьд бид Зураг 6-д үзүүлсэн gNMI залгаасыг ашигладаг. Үзүүлэн ашиглахын тулд хостын нэрийг “spine1”, gRPC-д ашигладаг “50051” портын дугаар, шилжүүлэгчийн хэрэглэгчийн нэр, нууц үг, дугаарыг нэмнэ үү. амжилтгүй болсон тохиолдолд дахин залгахад секундын тоо.
Захиалгын хэсэгт энэ мэдрэгч, мэдрэгчийн зам, шилжүүлэгчээс энэ өгөгдлийг авах хугацааны интервалд зориулсан өвөрмөц нэр, "cpu" нэмнэ үү. Бүх нээлттэй тохируулагч мэдрэгчүүдэд ижил inputs.gnmi болон inputs.gnmi.subscription залгаасыг нэмнэ үү. (Зураг 6)

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx3

Native Sensor Plugin

Энэ бол уугуул мэдрэгчүүдэд ашиглагддаг Juniper телеметрийн интерфейсийн залгаас юм. Үүнтэй ижил telegraf.conf файлд талбарууд нь openconfig-тэй бараг ижил байх inputs.jti_openconfig_telemetry эх мэдрэгчийн залгаасыг нэмнэ үү. Мэдрэгч бүрт өвөрмөц хэрэглэгчийн ID ашиглах; Энд бид "telegraf3" ашигладаг. Энэ мэдрэгчийн өвөрмөц нэр нь "mem" юм (Зураг 7).

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx4

Эцэст нь энэ мэдрэгчийн өгөгдлийг InfluxDB руу илгээхийн тулд outputs.influxdb гаралтын залгаасыг нэмнэ үү. Энд мэдээллийн санг “telegraf” гэж нэрлэсэн бөгөөд хэрэглэгчийн нэр нь “infiux”, нууц үг нь “influxdb” (Зураг 8).

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx5

Telegraf.conf файлыг зассаны дараа telegraf үйлчилгээг дахин эхлүүлнэ үү. Одоо InfluxDB CLI-г шалгаад бүх өвөрмөц мэдрэгчүүдэд хэмжилт хийгдсэн эсэхийг шалгана уу. InfluxDB CLI руу орохын тулд "influx" гэж бичнэ үү.

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx6

Зурагт үзүүлсэн шиг. 9, influxDB хүлээх мөрийг оруулаад "telegraf" мэдээллийн санг ашиглана уу. Мэдрэгчид өгсөн бүх өвөрмөц нэрийг хэмжилт гэж жагсаасан болно.
Аливаа хэмжилтийн гаралтыг харахын тулд телеграф файл зөв, мэдрэгч ажиллаж байгаа эсэхийг шалгахын тулд Зураг 1-д үзүүлсэн шиг "CPU хязгаар 10-ээс * сонгох" командыг ашиглана уу.

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx7

Telegraf.conf файлд өөрчлөлт оруулах бүрт InfluxDB-г зогсоож, Telegraf-ийг дахин эхлүүлж, InfluxDB-г эхлүүлнэ үү.
Хөтөчөөс Grafana руу нэвтэрч, өгөгдлийг зөв цуглуулж байгаа эсэхийг шалгасны дараа хяналтын самбар үүсгэ.
Холболтууд > InfuxDB > Шинэ өгөгдлийн эх үүсвэр нэмэх хэсэгт очно уу.

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx8

  1. Энэ мэдээллийн эх сурвалжид нэр өгнө үү. Энэ демо дээр энэ нь "туршилт-1" юм.
  2.  HTTP мөрийн доор Ubuntu серверийн IP болон 8086 портыг ашиглана уу.
    Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx9
  3. InfluxDB-ийн дэлгэрэнгүй мэдээлэлд өгөгдлийн сангийн ижил нэр болох "telegraf"-ийг ашиглан Ubuntu серверийн хэрэглэгчийн нэр, нууц үгийг оруулна уу.
  4. Хадгалах ба тест дээр дарна уу. "Амжилттай" гэсэн мессежийг харж байгаа эсэхээ шалгаарай.
    Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - Nginx10
  5. Өгөгдлийн эх үүсвэрийг амжилттай нэмсний дараа "Хянах самбар" руу очоод "Шинэ" дээр дарна уу. Засварлагчийн горимд AI/ML ажлын ачаалалд зайлшгүй шаардлагатай хэд хэдэн хяналтын самбар үүсгэцгээе.

ExampМэдрэгчийн графикууд

Дараахь нь өмнөхampAI/ML сүлжээг хянахад зайлшгүй шаардлагатай зарим томоохон тоолуурын les.
ПерсенtagСээр нуруу-0 дээр нэвтрэх интерфейс et-0/0/1 ашиглах
Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - График

  • Өгөгдлийн эх үүсвэрийг тест-1 гэж сонгоно.
  • FROM хэсэгт хэмжилтийг "интерфэйс" гэж сонгоно уу. Энэ бол мэдрэгчийн замд хэрэглэгддэг өвөрмөц нэр юм.
  • ХААНА хэсэгт төхөөрөмжийг сонгоно уу::tag, болон дотор tag утга, шилжүүлэгчийн хостын нэрийг сонгоно уу, өөрөөр хэлбэл, spine1.
  • СОНГОХ хэсэгт хяналт тавихыг хүсч буй мэдрэгчийн салбараа сонгоно уу; Энэ тохиолдолд "талбар(/интерфэйс/интерфейс[if_name='et-0/0/0']/state/counters/if_in_1s_octets)"-г сонгоно уу. Одоо ижил хэсэгт "+" дээр товшоод энэ тооцооны математикийг (/50000000000 * 100) нэмнэ үү. Бид үндсэндээ хувиар тооцож байгааtag400G интерфэйсийг ашиглах.
  • FORMAT нь "цаг хугацааны цуврал" эсэхийг шалгаад ALIAS хэсэгт графикийг нэрлэнэ үү.

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - График1Дурын дарааллын хувьд буферийн хамгийн дээд ачаалал

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - График2

  • Өгөгдлийн эх үүсвэрийг тест-1 гэж сонгоно.
  • FROM хэсэгт хэмжилтийг "буфер" гэж сонгоно.
  • ХААНА хэсэгт бөглөх гурван талбар байна. Төхөөрөмж сонгох::tag, болон дотор tag утга нь шилжүүлэгчийн хостын нэрийг сонгох (өөрөөр хэлбэл нуруу-1); БА /cos/interfaces/interface/@name-г сонгоно уу::tag болон интерфэйсийг сонгох (өөрөөр хэлбэл et- 0/0/0); Мөн дарааллыг сонгоно уу, /cos/interfaces/interface/queues/queue/@queue::tag дарааллын дугаар 4-ийг сонгоно уу.
  • СОНГОХ хэсэгт хяналт тавихыг хүсч буй мэдрэгчийн салбараа сонгоно уу; Энэ тохиолдолд "талбар(/cos/interfaces/interface/queues/queue/PeakBufierOccupancy)"-г сонгоно уу.
  • FORMAT нь "цаг хугацааны цуваа" эсэхийг шалгаад ALIAS хэсэгт графикийг нэрлэнэ үү.

Та et-17/0/0, et-0/0/0, et-1/0/0 гэх мэт 2-р зурагт үзүүлсэнтэй ижил график дээр олон интерфейсийн өгөгдлийг нэгтгэж болно.

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - График3

PFC болон ECN нь дериватив гэсэн утгатай
Juniper NETWORKS Telemetry In Junos for AI ML Workloads Software - дериватив

Дундаж деривативыг (хугацааны хязгаар дахь утгын зөрүү) олохын тулд түүхий асуулгын горимыг ашиглана уу.
Энэ бол Spine-0-ийн et-0/0/1 дээрх хоёр PFC утгын хоорондох дундаж деривативыг секундын дотор олохын тулд бидний ашигласан урсгалын асуулга юм.
SELECT дериватив(("/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts"), 1с) FROM "interface" ХААНА (“төхөөрөмж”::tag = 'Spine-1') ба $timeFilter GROUP BY time($interval)

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - ECN-ийн хувьд ч мөн адил

SELECT дериватив(("/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts"), 1s) FROM "interface" ХААНА (“төхөөрөмж”::tag = 'Spine-1') ба $timeFilter GROUP BY time($interval)

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - ECN1-ийн хувьд ч мөн адил.

Оролтын нөөцийн алдаа нь дериватив гэсэн үг

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - ECN2-ийн хувьд ч мөн адил.

Нөөцийн алдааны түүхий асуулга нь дериватив гэсэн утгатай:
SELECT дериватив(("/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors"), 1s) FROM "interface" ХААНА (“төхөөрөмж”::tag = 'Spine-1') ба $timeFilter GROUP BY time($interval)

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - ECN3-ийн хувьд ч мөн адил.

Сүүлний дусал нь дериватив гэсэн үг

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - ECN4-ийн хувьд ч мөн адил.

Сүүлний уналтын түүхий асуулга нь дериватив гэсэн утгатай:
SELECT derivative(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s) FROM “bufier” WHERE (“төхөөрөмж”::tag = 'Навч-1' БА "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' БА “/cos/interfaces/interface/queues/queue/@queue”::tag = '4') БА $timeFilter GROUP BY time($__interval) fill(null)
 CPU-ийн хэрэглээ

Juniper NETWORKS Telemetry in Junos for AI ML Workloads Software - CPU-ийн ашиглалт

  • Өгөгдлийн эх үүсвэрийг тест-1 гэж сонгоно.
  • FROM хэсэгт хэмжилтийг "newcpu" гэж сонгоно.
  • WHERE хэсэгт гурван талбарыг бөглөх хэрэгтэй. Төхөөрөмж сонгох::tag болон дотор tag утга нь шилжүүлэгчийн хостын нэрийг сонгоно (өөрөөр хэлбэл нуруу-1). AND /components/component/properties/property/name:tag, мөн нэрээр cpuutilization-total AND-г сонгоно уу::tag RE0-г сонгоно уу.
  • СОНГОХ хэсгээс хянахыг хүсэж буй мэдрэгчийн салбараа сонгоно уу. Энэ тохиолдолд "талбар (төлөв/утга)"-г сонгоно уу.

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - CPU-ийн ашиглалт1

Олон интерфэйс дээрх олон шилжүүлэгчийн хувьд бит/сек-ээр уналтын сөрөг бус деривативыг олох түүхий асуулга.
Сөрөг бус деривативыг СОНГОХ(дундаж(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s)*8 “буфер”-ээс ХААНА (төхөөрөмж::tag =~ /^Spine-[1-2]$/) болон (“/cos/interfaces/interface/@name”::tag =~ /et-0\/0\/[0-9]/ эсвэл “/cos/interfaces/interface/@name”::tag=~/et-0\/0\/1[0-5]/) БА $timeFilter GROUP BY time($__interval),төхөөрөмж::tag дүүргэх (цэг)

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри - CPU-ийн ашиглалт2

Эдгээр нь хуучин хүмүүсийн зарим нь байсанampAI/ML сүлжээг хянахын тулд үүсгэж болох графикууд.

Дүгнэлт

Энэхүү баримт бичигт телеметрийн өгөгдлийг татах, график үүсгэх замаар дүрслэх аргыг харуулсан болно. Энэхүү нийтлэлд AI/ML мэдрэгчүүдийн тухай тусгайлан ярьдаг бөгөөд үндсэн болон нээлттэй тохиргоотой боловч тохиргоог бүх төрлийн мэдрэгчүүдэд ашиглаж болно. Мөн тохиргоог хийх явцад танд тулгарч болох олон асуудлын шийдлийг бид оруулсан болно. Энэ баримт бичигт дүрсэлсэн алхамууд болон гаралтууд нь өмнө дурдсан TIG стекийн хувилбаруудад зориулагдсан болно. Энэ нь програм хангамжийн хувилбар, мэдрэгч болон Junos хувилбараас хамаарч өөрчлөгдөж болно.

Лавлагаа

Бүх мэдрэгчийн сонголтуудад зориулсан Juniper Yang Data Model Explorer
https://apps.juniper.net/ydm-explorer/
Openconfig мэдрэгчийн Openconfig форум
https://www.openconfig.net/projects/models/

Juniper NETWORKS Telemetry In Junos for AI ML Workloads Software - icon

Байгууллагын болон борлуулалтын төв байр
Juniper Networks, Inc.
1133 Инновацийн арга
Sunnyvale, CA 94089 АНУ
Утас: 888. АРЦ (888.586.4737)
эсвэл +1.408.745.2000
Факс: +1.408.745.2100
www.juniper.net
APAC болон EMEA-ийн төв байр
Juniper Networks International BV
Боинг өргөн чөлөө 240
1119 PZ Schiphol-Rijk
Амстердам, Нидерланд
Утас: +31.207.125.700
Факс: +31.207.125.701
Зохиогчийн эрх 2023 Juniper Networks. Inc. Ail эрх хуулиар хамгаалагдсан. Juniper Networks, Juniper Networks лого, Juniper, Junos болон бусад худалдааны тэмдэгнүүд нь Juniper Networks-ийн бүртгэгдсэн худалдааны тэмдэгнүүд юм. inc. ба/эсвэл түүний АНУ болон бусад улс дахь салбарууд. Бусад нэр нь тус тусын эзэмшигчийн худалдааны тэмдэг байж болно. Juniper Networks энэ баримт бичигт алдаа гарсан тохиолдолд хариуцлага хүлээхгүй. Juniper Networks нь өөрчлөх эрхтэй. өөрчлөх. шилжүүлэх, эсхүл мэдэгдэлгүйгээр энэ нийтлэлийг өөрчлөх.
Санал хүсэлт илгээх: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml

Баримт бичиг / нөөц

Juniper NETWORKS AI ML ажлын ачааллын програм хангамжийн Junos дахь телеметри [pdf] Хэрэглэгчийн гарын авлага
Telemetry In Junos for AI ML Workloads Software, Junos for AI ML Workloads Software, AI ML Workloads Software, Workloads Software, Software

Лавлагаа

Сэтгэгдэл үлдээгээрэй

Таны имэйл хаягийг нийтлэхгүй. Шаардлагатай талбаруудыг тэмдэглэсэн *