AI/ML жұмыс жүктемелеріне арналған Junos жүйесіндегі телеметрия
Авторы: Шалини Мукерджи
Кіріспе
Жасанды интеллект кластерінің трафигі жоғары өткізу қабілеті мен кідіріссіз жоғалмайтын желілерді қажет ететіндіктен, AI желісінің маңызды элементі мониторинг деректерін жинау болып табылады. Junos Telemetry негізгі өнімділік көрсеткіштерін, соның ішінде кептелістерді басқару және қозғалыс жүктемесін теңестіруге арналған шектер мен есептегіштерді егжей-тегжейлі бақылауға мүмкіндік береді. gRPC сеанстары телеметрия деректерінің ағынын қолдайды. gRPC — HTTP/2 транспортында құрылған заманауи, ашық бастапқы, өнімділігі жоғары құрылым. Ол жергілікті екі бағытты ағындық мүмкіндіктерді кеңейтеді және сұрау тақырыптарында икемді теңшелетін метадеректерді қамтиды. Телеметрияның бастапқы қадамы - қандай деректерді жинау керектігін білу. Содан кейін біз бұл деректерді әртүрлі форматтарда талдай аламыз. Деректерді жинағаннан кейін оны бақылауға, шешім қабылдауға және ұсынылатын қызметті жақсартуға оңай форматта ұсыну маңызды. Бұл жұмыста біз Telegraf, InfluxDB және Grafana-дан тұратын телеметриялық стек қолданамыз. Бұл телеметриялық стек деректерді push үлгісі арқылы жинайды. Дәстүрлі тарту үлгілері ресурсты көп қажет етеді, қолмен араласуды қажет етеді және олар жинайтын деректерде ақпараттық бос орындарды қамтуы мүмкін. Басу үлгілері деректерді асинхронды түрде жеткізу арқылы осы шектеулерді еңсереді. Олар пайдаланушыға ыңғайлы пайдалану арқылы деректерді байытады tags және атаулар. Деректер оқылатын пішімде болғаннан кейін біз оны дерекқорда сақтаймыз және оны интерактивті визуализацияда қолданамыз web желіні талдауға арналған қолданба. Сурет. 1-суретте бұл стек деректерді жинау, сақтау және визуализациялау үшін, деректерді коллекторға жіберетін желілік құрылғылардан талдау үшін бақылау тақталарында көрсетілетін деректерге дейін қалай жасалғанын көрсетеді.
TIG стек
Біз Ubuntu серверін TIG стегімен қоса барлық бағдарламалық құралды орнату үшін пайдаландық.
Телеграф
Деректерді жинау үшін біз Telegraf қолданбасын 22.04.2 жұмыс істейтін Ubuntu серверінде қолданамыз. Бұл демонстрацияда жұмыс істейтін Telegraf нұсқасы 1.28.5.
Telegraf - бұл көрсеткіштерді жинауға және есеп беруге арналған плагинге негізделген сервер агенті. Ол процессорды пайдаланады plugins деректерді байыту және қалыпқа келтіру. Шығару plugins бұл деректерді әртүрлі деректер қоймаларына жіберу үшін пайдаланылады. Бұл құжатта біз екеуін қолданамыз plugins: біреуі openconfig сенсорлары үшін, екіншісі Juniper жергілікті сенсорлары үшін.
InfluxDB
Уақыт қатарларының дерекқорында деректерді сақтау үшін InfluxDB пайдаланамыз. Telegraf ішіндегі шығыс плагині деректерді өте тиімді түрде сақтайтын InfluxDB-ге жібереді. Біз V1.8 қолданамыз, өйткені V2 және одан жоғары нұсқалар үшін CLI жоқ.
Графана
Графана бұл деректерді визуализациялау үшін қолданылады. Grafana InfluxDB деректерін алып, пайдаланушыларға бай және интерактивті бақылау тақталарын жасауға мүмкіндік береді. Мұнда біз 10.2.2 нұсқасын іске қосып жатырмыз.
Коммутатордағы конфигурация
Бұл стекті іске асыру үшін алдымен коммутаторды 2-суретте көрсетілгендей конфигурациялау қажет. Біз 50051 портын қолдандық. Мұнда кез келген портты пайдалануға болады. QFX қосқышына кіріп, келесі конфигурацияны қосыңыз.
Ескерту: Бұл конфигурация зертханаларға/POC-терге арналған, өйткені құпия сөз анық мәтінде тасымалданады. Бұған жол бермеу үшін SSL пайдаланыңыз.
Қоршаған орта
Nginx
Бұл Grafana орналастырылған портты көрсете алмасаңыз қажет. Келесі қадам - кері прокси-агент ретінде қызмет ету үшін Ubuntu серверіне nginx орнату. Nginx орнатылғаннан кейін 4-суретте көрсетілген жолдарды «әдепкі» файлға қосыңыз және файлды /etc/nginx ішінен /etc/nginx/sites-enabled ішіне жылжытыңыз.
Брандмауэр 5-суретте көрсетілгендей nginx қызметіне толық қол жеткізу үшін реттелгеніне көз жеткізіңіз.
Nginx орнатылып, қажетті өзгертулер енгізілгеннен кейін біз Grafana-ға a web барлық бағдарламалық құрал орнатылған Ubuntu серверінің IP мекенжайын пайдалану арқылы шолғыш.
Графанада әдепкі құпия сөзді қалпына келтіруге мүмкіндік бермейтін шағын ақау бар. Осы мәселеге тап болсаңыз, осы қадамдарды пайдаланыңыз.
Grafana жүйесінде құпия сөзді орнату үшін Ubuntu серверінде орындалатын қадамдар:
- /var/lib/grafana/grafana.db сайтына өтіңіз
- sqllite3 орнатыңыз
o sudo apt орнату sqlite3 - Бұл пәрменді терминалда іске қосыңыз
o sqlite3 grafana.db - Sqlite пәрмен жолы ашылады; келесі сұрауды іске қосыңыз:
>login='admin' орналасқан пайдаланушыдан жою - Графананы қайта іске қосыңыз және пайдаланушы аты мен құпия сөз ретінде admin деп теріңіз. Ол жаңа құпия сөзді сұрайды.
Барлық бағдарламалық құрал орнатылғаннан кейін Telegraf бағдарламасында конфигурация файлын жасаңыз, ол коммутатордан телеметрия деректерін алуға және оны InfluxDB жүйесіне итеруге көмектеседі.
Openconfig сенсор плагині
Ubuntu серверінде барлық қажетті файлды қосу үшін /etc/telegraf/telegraf.conf файлын өңдеңіз. plugins және сенсорлар. Openconfig сенсорлары үшін 6-суретте көрсетілген gNMI плагинін пайдаланамыз. Демо мақсаттар үшін хост атауын «spine1», gRPC үшін пайдаланылатын «50051» порт нөмірін, қосқыштың пайдаланушы аты мен құпия сөзін және нөмірді қосыңыз. сәтсіз болған жағдайда қайта теру үшін секунд.
Жазылым шумағында осы нақты сенсор үшін «cpu» бірегей атауды, сенсор жолын және коммутатордан осы деректерді алу үшін уақыт аралығын қосыңыз. Барлық ашық конфигурация сенсорлары үшін бірдей inputs.gnmi және inputs.gnmi.subscription плагиндерін қосыңыз. (6-сурет)
Native Sensor Plugin
Бұл жергілікті сенсорлар үшін пайдаланылатын Juniper телеметриялық интерфейс плагині. Сол telegraf.conf файлында өрістер openconfig сияқты дерлік болатын inputs.jti_openconfig_telemetry жергілікті сенсор плагинін қосыңыз. Әрбір сенсор үшін бірегей клиент идентификаторын пайдаланыңыз; мұнда біз «telegraf3» пайдаланамыз. Бұл сенсор үшін бұл жерде қолданылатын бірегей атау – “mem” (7-сурет).
Соңында, осы сенсор деректерін InfluxDB жүйесіне жіберу үшін outputs.influxdb шығыс плагинін қосыңыз. Мұнда дерекқор «telegraf» деп аталады, пайдаланушы аты «infiux» және құпия сөз «influxdb» (8-сурет).
telegraf.conf файлын өңдегеннен кейін telegraf қызметін қайта іске қосыңыз. Енді барлық бірегей сенсорлар үшін өлшемдер жасалғанына көз жеткізу үшін InfluxDB CLI жүйесін тексеріңіз. InfluxDB CLI енгізу үшін “infiux” деп теріңіз.
Суретте көрсетілгендей. 9, influxDB шақыруын енгізіп, «telegraf» дерекқорын пайдаланыңыз. Датчиктерге берілген барлық бірегей атаулар өлшемдер ретінде берілген.
Кез келген бір өлшемнің нәтижесін көру үшін, телеграф файлының дұрыс екеніне және сенсордың жұмыс істеп тұрғанына көз жеткізу үшін 1-суретте көрсетілгендей «CPU шегінен 10 * таңдау» пәрменін пайдаланыңыз.
telegraf.conf файлына өзгерістер енгізілген сайын, InfluxDB қызметін тоқтатып, Telegraf бағдарламасын қайта іске қосып, содан кейін InfluxDB іске қосылғанына көз жеткізіңіз.
Браузерден Grafana жүйесіне кіріп, деректердің дұрыс жиналғанына көз жеткізгеннен кейін бақылау тақталарын жасаңыз.
Қосылымдар > InfuxDB > Жаңа деректер көзін қосу тармағына өтіңіз.
- Осы деректер көзіне атау беріңіз. Бұл демонстрацияда бұл «сынақ-1».
- HTTP станзасында Ubuntu серверінің IP мекенжайын және 8086 портын пайдаланыңыз.
- InfluxDB мәліметтерінде бірдей дерекқор атауын, «telegraf» пайдаланыңыз және Ubuntu серверінің пайдаланушы аты мен құпия сөзін беріңіз.
- Сақтау және тексеру түймесін басыңыз. «Сәтті» хабарын көргеніңізге көз жеткізіңіз.
- Деректер көзі сәтті қосылғаннан кейін Бақылау тақталарына өтіп, Жаңа түймешігін басыңыз. Редактор режимінде AI/ML жұмыс жүктемелері үшін маңызды бірнеше бақылау тақталарын жасайық.
ExampСенсорлық графиктер
Төмендегілер бұрынғыampAI/ML желісін бақылау үшін маңызды кейбір негізгі есептегіштердің les.
Персенtage-0 омыртқасындағы кіру интерфейсі et-0/0/1 үшін пайдалану
- Деректер көзін сынақ-1 ретінде таңдаңыз.
- FROM бөлімінде өлшемді «интерфейс» ретінде таңдаңыз. Бұл сенсор жолы үшін пайдаланылатын бірегей атау.
- ҚАЙДА бөлімінде құрылғыны таңдаңыз::tag, және ішінде tag мән, қосқыштың хост атын таңдаңыз, яғни spine1.
- ТАҢДАУ бөлімінде бақылау қажет сенсор тармағын таңдаңыз; бұл жағдайда “field(/interfaces/interface[if_name='et-0/0/0']/state/counters/if_in_1s_octets)” таңдаңыз. Енді сол бөлімде «+» түймесін басып, осы есептеу математикасын қосыңыз (/50000000000 * 100). Біз негізінен пайызды есептеп жатырмызtage 400G интерфейсін пайдалану.
- FORMAT «уақыт қатары» екеніне көз жеткізіңіз және ALIAS бөліміндегі графикті атаңыз.
Кез келген кезек үшін буферді толтыру шыңы
- Деректер көзін сынақ-1 ретінде таңдаңыз.
- FROM бөлімінде өлшемді «буфер» ретінде таңдаңыз.
- ҚАЙДА бөлімінде толтырылатын үш өріс бар. Құрылғыны таңдаңыз::tag, және ішінде tag мән коммутатордың хост атауын таңдаңыз (яғни, spine-1); ЖӘНЕ /cos/interfaces/interface/@name: таңдаңыз:tag және интерфейсті таңдаңыз (яғни et- 0/0/0); ЖӘНЕ де кезекті таңдаңыз, /cos/interfaces/interface/queues/queue/@queue::tag және №4 кезекті таңдаңыз.
- ТАҢДАУ бөлімінде бақылау қажет сенсор тармағын таңдаңыз; бұл жағдайда «field(/cos/interfaces/interface/queues/queue/PeakBufierOccupancy)» таңдаңыз.
- FORMAT «уақыт қатары» екеніне көз жеткізіңіз және ALIAS бөліміндегі графикті атаңыз.
17-суретте көрсетілгендей, et-0/0/0, et-0/0/1, et-0/0/2 және т.б. үшін бірнеше интерфейстер үшін деректерді бір графикте салыстыруға болады.
PFC және ECN туындыны білдіреді
Орташа туындыны (уақыт ауқымындағы мәндегі айырмашылық) табу үшін өңделмеген сұрау режимін пайдаланыңыз.
Бұл бір секундта Spine-0 et-0/0/1 бойынша екі PFC мәні арасындағы орташа туындыны табу үшін қолданылған ағынды сұрау.
SELECT туынды(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) FROM “interface” WHERE (“құрылғы”::tag = 'Омыртқа-1') ЖӘНЕ $timeFilter GROUP BY time($interval)
SELECT туынды(mean(“/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts”), 1s) FROM “interface” ҚАЙДА (“құрылғы”::tag = 'Омыртқа-1') ЖӘНЕ $timeFilter GROUP BY time($interval)
Кіріс ресурсының қателері туындыны білдіреді
Ресурс қателерінің өңделмеген сұрауы туындыны білдіреді:
SELECT туынды(mean(“/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors”), 1s) FROM “interface” ҚАЙДА (“құрылғы”::tag = 'Омыртқа-1') ЖӘНЕ $timeFilter GROUP BY time($interval)
Құйрық тамшылары туынды дегенді білдіреді
Құйрық тамшыларына арналған шикі сұрау туындыны білдіреді:
SELECT туынды(mean(“/cos/interfaces/interface/queues/queue/tailDropBytes”), 1s) FROM “буфер” ҚАЙДА (“құрылғы”::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 пайдалану
- Деректер көзін сынақ-1 ретінде таңдаңыз.
- FROM бөлімінде өлшемді «newcpu» ретінде таңдаңыз.
- WHERE ішінде толтырылатын үш өріс бар. Құрылғыны таңдаңыз::tag және ішінде tag мән коммутатордың хост атауын таңдаңыз (яғни, spine-1). ЖӘНЕ /components/component/properties/property/name ішінде:tag, және атауында cpuutilization-total AND таңдаңыз::tag RE0 таңдаңыз.
- ТАҢДАУ бөлімінде бақыланатын сенсор тармағын таңдаңыз. Бұл жағдайда «өріс (күй/мән)» таңдаңыз.
Бірнеше интерфейстердегі бірнеше қосқыштар үшін бит/сектегі құйрық тамшыларының теріс емес туындысын табуға арналған шикі сұрау.
Теріс емес_туындыны ТАҢДАҢЫЗ(mean(“/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 толтыру (нөл)
Бұл бұрынғылардың кейбірі еді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, 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] Пайдаланушы нұсқаулығы Junos жүйесіндегі телеметрия AI ML жұмыс жүктемелеріне арналған бағдарламалық құрал, AI ML жұмыс жүктемелеріне арналған бағдарламалық құрал үшін Junos, AI ML жұмыс жүктемелерінің бағдарламалық құралы, жұмыс жүктемесінің бағдарламалық құралы, бағдарламалық құрал |