Телеметрия дар Junos барои сарбории AI/ML
Муаллиф: Шалини Мукерджи
Муқаддима
Азбаски трафики кластери AI шабакаҳои бетараф бо гузариши баланд ва таъхири пастро талаб мекунад, унсури муҳими шабакаи AI ҷамъоварии маълумоти мониторинг мебошад. Junos Telemetry имкон медиҳад, ки нишондиҳандаҳои асосии фаъолият, аз ҷумла остонаҳо ва ҳисобкунакҳо барои идоракунии сарборӣ ва мувозинати сарбории нақлиёт назорат карда шаванд. Сеансҳои gRPC ҷараёни маълумоти телеметриро дастгирӣ мекунанд. gRPC як чаҳорчӯбаи муосир, кушодаасос ва баландсифат аст, ки дар нақлиёти HTTP/2 сохта шудааст. Он қобилиятҳои ҷараёнҳои дуҷонибаи маҳаллиро тақвият медиҳад ва метамаълумоти тағйирпазири фармоиширо дар сарлавҳаҳои дархост дар бар мегирад. Қадами аввал дар телеметрия донистани он аст, ки кадом маълумот бояд ҷамъ карда шавад. Пас мо метавонем ин маълумотро дар форматҳои гуногун таҳлил кунем. Вақте ки мо маълумотро ҷамъ меорем, муҳим аст, ки онро дар формате пешниҳод кунем, ки барои назорат, қабули қарорҳо ва беҳтар кардани хидмати пешниҳодшаванда осон бошад. Дар ин мақола мо стеки телеметриро истифода мебарем, ки аз Telegraf, InfluxDB ва Grafana иборат аст. Ин стеки телеметрӣ маълумотро бо истифода аз модели push ҷамъ мекунад. Моделҳои анъанавии ҷалби захираҳо зиёданд, дахолати дастӣ талаб мекунанд ва метавонанд дар маълумоти ҷамъоварӣ камбудиҳои иттилоотиро дар бар гиранд. Моделҳои пуш ин маҳдудиятҳоро тавассути интиқоли маълумот ба таври асинхронӣ бартараф мекунанд. Онҳо маълумотро бо истифода аз истифодаи дӯстона бой мекунанд tags ва номҳо. Вақте ки маълумот дар формати бештар хондашаванда аст, мо онро дар пойгоҳи додаҳо нигоҳ медорем ва онро дар визуализатсияи интерактивӣ истифода мебарем web барнома барои таҳлили шабака. Расм. 1 ба мо нишон медиҳад, ки чӣ гуна ин стек барои ҷамъоварӣ, нигоҳдорӣ ва визуализатсияи самараноки додаҳо тарҳрезӣ шудааст, аз дастгоҳҳои шабакавӣ, ки маълумотро ба коллектор интиқол медиҳанд, то маълумоте, ки дар панели идоракунӣ барои таҳлил намоиш дода мешаванд.
TIG Stack
Мо сервери Ubuntu-ро барои насб кардани ҳама нармафзор, аз ҷумла стеки TIG истифода бурдем.
Телеграф
Барои ҷамъоварии маълумот мо Telegraf-ро дар сервери Ubuntu, ки 22.04.2 кор мекунад, истифода мебарем. Версияи Telegraf, ки дар ин намоиш кор мекунад, 1.28.5 аст.
Telegraf як агенти сервери плагинест, ки барои ҷамъоварӣ ва гузоришдиҳии ченакҳо асос ёфтааст. Он протсессорро истифода мебарад plugins ганй ва муътадил гардондани маълумот. Натиҷаи plugins барои фиристодани ин маълумот ба мағозаҳои гуногуни маълумот истифода мешаванд. Дар ин ҳуҷҷат мо ду plugins: яке барои сенсорҳои openconfig ва дигаре барои сенсорҳои аслии Juniper.
InfluxDB
Барои нигоҳ доштани маълумот дар базаи силсилаи вақт, мо InfluxDB-ро истифода мебарем. Васлкунаки баромади Telegraf маълумотро ба InfluxDB мефиристад, ки онро ба таври хеле муассир нигоҳ медорад. Мо V1.8-ро истифода мебарем, зеро барои V2 ва болотар CLI мавҷуд нест.
Графана
Grafana барои визуалии ин маълумот истифода мешавад. Grafana маълумотро аз InfluxDB мегирад ва ба корбарон имкон медиҳад, ки панелҳои бой ва интерактивӣ эҷод кунанд. Дар ин ҷо мо версияи 10.2.2-ро иҷро карда истодаем.
Конфигуратсия дар Гузариш
Барои татбиқи ин стек, мо аввал бояд коммутаторро тавре ки дар расми 2 нишон дода шудааст, танзим кунем. Мо порти 50051-ро истифода бурдем. Дар ин ҷо ҳама гуна портро метавон истифода бурд. Ба гузариши QFX ворид шавед ва конфигуратсияи зеринро илова кунед.
Шарҳ: Ин конфигуратсия барои лабораторияҳо/POC-ҳост, зеро парол дар матни равшан интиқол дода мешавад. Барои пешгирӣ кардани ин SSL-ро истифода баред.
Муҳити зист
Nginx
Ин лозим аст, агар шумо бандаеро, ки дар он Grafana ҷойгир аст, фош карда наметавонед. Қадами навбатӣ ин насб кардани nginx дар сервери Ubuntu аст, то ҳамчун агенти прокси баръакс хидмат кунад. Пас аз насб кардани nginx, сатрҳои дар расми 4 нишондодашударо ба файли "пешфарз" илова кунед ва файлро аз /etc/nginx ба /etc/nginx/sites-enabled интиқол диҳед.
Боварӣ ҳосил кунед, ки девори девор барои дастрасии пурра ба хидмати nginx тавре ки дар расми 5 нишон дода шудааст, танзим карда шудааст.
Вақте ки nginx насб карда мешавад ва тағироти зарурӣ ворид карда мешавад, мо бояд аз Grafana дастрас шавем web браузер бо истифода аз суроғаи IP-и сервери Ubuntu, ки дар он ҳама нармафзор насб шудааст.
Дар Grafana хатогии хурд вуҷуд дорад, ки ба шумо имкон намедиҳад, ки пароли пешфарзро аз нав барқарор кунед. Агар шумо бо ин мушкилот рӯ ба рӯ шавед, ин қадамҳоро истифода баред.
Қадамҳое, ки дар сервери Ubuntu барои гузоштани парол дар Grafana иҷро мешаванд:
- Ба /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, мо плагини gNMI-ро, ки дар расми 6 нишон дода шудааст, истифода мебарем. Барои мақсадҳои намоишӣ номи мизбонро ҳамчун "spine1", рақами порти "50051", ки барои gRPC истифода мешавад, номи корбар ва пароли гузариш ва рақамро илова кунед. сония барои такрори занг дар ҳолати ноком.
Дар сатри обуна номи беназир, "cpu" барои ин сенсори мушаххас, роҳи сенсор ва фосилаи вақт барои гирифтани ин маълумот аз коммутатор илова кунед. Барои ҳама сенсорҳои конфигуратсияи кушода як плагини inputs.gnmi ва inputs.gnmi.subscription -ро илова кунед. (Расми 6)
Васлкунаки сенсори ватанӣ
Ин плагини интерфейси телеметрии Juniper аст, ки барои сенсорҳои маҳаллӣ истифода мешавад. Дар ҳамон файли telegraf.conf, плагини аслии сенсори inputs.jti_openconfig_telemetry -ро илова кунед, ки дар он майдонҳо тақрибан бо openconfig якхелаанд. Барои ҳар як сенсор ID-и беназири муштариро истифода баред; дар ин ҷо, мо "telegraf3" -ро истифода мебарем. Номи беназире, ки дар ин ҷо барои ин сенсор истифода мешавад, "mem" аст (Расми 7).
Ниҳоят, плагини баромади outputs.influxdb илова кунед, то ин маълумоти сенсорро ба InfluxDB ирсол кунад. Дар ин ҷо базаи маълумот "telegraf" бо номи корбар ҳамчун "influx" ва пароли "influxdb" ном дорад (Расми 8).
Вақте ки шумо файли telegraf.conf-ро таҳрир кардед, хидмати телеграфро аз нав оғоз кунед. Акнун, дар InfluxDB CLI санҷед, то боварӣ ҳосил кунед, ки оё ченакҳо барои ҳама сенсорҳои беназир сохта шудаанд. Барои ворид кардани InfluxDB CLI "influx" -ро нависед.
Чунон ки дар расм дида мешавад. 9, дархости influxDB-ро ворид кунед ва пойгоҳи додаи "telegraf" -ро истифода баред. Ҳама номҳои беназире, ки ба сенсорҳо дода шудаанд, ҳамчун андозагирӣ номбар шудаанд.
Барои дидани натиҷаи ягон андозагирӣ, танҳо барои боварӣ ҳосил кардани он, ки файли телеграф дуруст аст ва сенсор кор мекунад, фармони "интихоб * аз маҳдудияти CPU 1" -ро истифода баред, тавре ки дар расми 10 нишон дода шудааст.
Ҳар дафъае, ки ба файли telegraf.conf тағирот ворид карда мешавад, боварӣ ҳосил кунед, ки InfluxDB-ро қатъ кунед, Telegraf-ро аз нав оғоз кунед ва сипас InfluxDB-ро оғоз кунед.
Аз браузер ба Grafana ворид шавед ва пас аз боварӣ ҳосил кардани он, ки маълумот дуруст ҷамъоварӣ карда мешавад, панелҳои идоракуниро эҷод кунед.
Ба Пайвастшавӣ > InfuxDB > Илова кардани манбаи нави маълумот гузаред.
- Ба ин манбаи маълумот ном диҳед. Дар ин намоишӣ он "санҷиш-1" аст.
- Дар зери сатри HTTP, IP сервери Ubuntu ва порти 8086-ро истифода баред.
- Дар тафсилоти InfluxDB, ҳамон номи махзани маълумот, "telegraf" -ро истифода баред ва номи корбар ва пароли сервери Ubuntu-ро пешниҳод кунед.
- Захира ва санҷишро клик кунед. Боварӣ ҳосил кунед, ки шумо паёми "муваффақият" -ро мебинед.
- Пас аз бомуваффақият илова кардани манбаи маълумот, ба панели идоракунӣ гузаред ва Навро клик кунед. Биёед якчанд панели идоракуниро созем, ки барои сарбории AI/ML дар реҷаи муҳаррир муҳиманд.
Examples Of Graphs Sensor
Қуйидагилар собиқampБаъзе ҳисобкунакҳои асосӣ, ки барои мониторинги шабакаи AI/ML муҳиманд.
ПерсенtagИстифодаи e барои интерфейси воридшавӣ et-0/0/0 дар сутунмӯҳра-1
- Манбаи маълумотро ҳамчун санҷиш-1 интихоб кунед.
- Дар қисмати АЗ, андозагириро ҳамчун "интерфейс" интихоб кунед. Ин номи беназирест, ки барои ин роҳи сенсор истифода мешавад.
- Дар КУҶО, дастгоҳро интихоб кунед::tag, ва дар tag арзиш, номи мизбони гузаришро интихоб кунед, яъне spine1.
- Дар бахши SELECT, шохаи сенсореро, ки мехоҳед назорат кунед, интихоб кунед; дар ин ҳолат "field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)"-ро интихоб кунед. Ҳоло дар ҳамон қисм, тугмаи "+" -ро клик кунед ва ин математикаи ҳисобкуниро илова кунед (/50000000000 * 100). Мо асосан фоизро ҳисоб мекунемtage истифодаи интерфейси 400G.
- Боварӣ ҳосил кунед, ки FORMAT "силсилаи вақт" аст ва графикро дар қисмати ALIAS номгузорӣ кунед.
Қуллаи ишғоли буфер барои ҳама навбат
- Манбаи маълумотро ҳамчун санҷиш-1 интихоб кунед.
- Дар қисмати АЗ, андозагириро ҳамчун "буфер" интихоб кунед.
- Дар қисмати КУҶО се майдон барои пур кардан мавҷуд аст. Интихоби дастгоҳ::tag, ва дар tag арзиш номи мизбони коммутаторро интихоб кунед (яъне сутунмӯҳра-1); ВА интихоб кунед /cos/interfaces/interface/@name::tag ва интерфейсро интихоб кунед (яъне et- 0/0/0); ВА инчунин навбатро интихоб кунед, /cos/interfaces/interface/queues/queue/@queue::tag ва навбати рақами 4-ро интихоб кунед.
- Дар бахши SELECT, шохаи сенсореро, ки мехоҳед назорат кунед, интихоб кунед; дар ин ҳолат "field(/cos/interfaces/interface/queues/queue/PeakBufierOccupancy) -ро интихоб кунед.
- Боварӣ ҳосил кунед, ки FORMAT "силсилаи вақт" аст ва графикро дар бахши ALIAS номгузорӣ кунед.
Шумо метавонед маълумотро барои интерфейсҳои сершумор дар як график ҷамъ кунед, ки дар расми 17 барои et-0/0/0, et-0/0/1, et-0/0/2 ва ғайра дида мешавад.
PFC ва ECN ҳосили маъно дорад
Барои дарёфти ҳосилаи миёна (фарқияти арзиш дар доираи вақт) ҳолати дархости хомро истифода баред.
Ин пурсишест, ки мо барои дарёфти ҳосилаи миёна байни ду арзиши PFC дар et-0/0/0-и Spine-1 дар як сония истифода кардем.
Ҳосилаи SELECT(маънои ("/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts"), 1с) АЗ "interface" КУҶО ("дастгоҳ"::tag = 'Сутунмӯҳра-1') ВА $timeFilter GROUP АЗ РУИ вақт($фосила)
Ҳосилаи SELECT(маънои("/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts"), 1с) АЗ "interface" КУҶО ("дастгоҳ"::tag = 'Сутунмӯҳра-1') ВА $timeFilter GROUP АЗ РУИ вақт($фосила)
Хатогиҳои захираҳои воридотӣ маънои ҳосиларо доранд
Дархости хом барои хатогиҳои захиравӣ маънои ҳосиларо дорад:
Ҳосилаи SELECT(маънои("/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors"), 1с) АЗ "interface" КУҶО ("дастгоҳ"::tag = 'Сутунмӯҳра-1') ВА $timeFilter GROUP АЗ РУИ вақт($фосила)
Қатраҳои дум маънои ҳосиларо доранд
Дархости хом барои қатраҳои дум маънои ҳосилаи ин аст:
Ҳосилаи SELECT(маъно("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1с) АЗ "буфер" КУҶО ("дастгоҳ"::tag = 'Leaf-1' ВА "/cos/interfaces/interface/@name"::tag = 'et-0/0/0' ВА "/cos/interfaces/interface/queues/queue/@queue"::tag = '4') ВА $timeFilter GROUP BY вақт($__интервал) пур (null)
Истифодаи CPU
- Манбаи маълумотро ҳамчун санҷиш-1 интихоб кунед.
- Дар қисмати FROM, андозагириро ҳамчун "newcpu" интихоб кунед
- Дар КУҶО, се майдон барои пур кардан вуҷуд дорад. Интихоби дастгоҳ::tag ва дар tag арзиш номи мизбони гузаришро интихоб кунед (яъне сутунмӯҳра-1). ВА дар /components/component/properties/property/name:tag, ва cpuutilization-total AND-ро дар ном интихоб кунед::tag RE0-ро интихоб кунед.
- Дар бахши SELECT, шохаи сенсореро, ки мехоҳед назорат кунед, интихоб кунед. Дар ин ҳолат, "майдон (ҳолат/арзиш)" -ро интихоб кунед.
Дархости хом барои дарёфти ҳосилаи ғайриманфии тарки дум барои коммутаторҳои сершумор дар интерфейсҳои сершумор дар бит/сек.
Ҳосилаи_ғайриманфиро интихоб кунед(маъно(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1с)*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 пур (нул)
Инҳо баъзе аз собиқ будандampдиаграммаҳое, ки барои мониторинги шабакаи AI/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, Inc.
1133 Роҳи инноватсия
Sunnyvale, CA 94089 ИМА
Телефон: 888. JUNIPER (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
Copyright 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 Telemetry In Junos барои нармафзори сарбории AI ML [pdf] Дастури корбар Telemetry In Junos барои нармафзори сарбории AI ML, Junos барои нармафзори сарбории AI ML, нармафзори сарбории AI ML, нармафзори сарбории корӣ, нармафзор |