एआय/एमएल वर्कलोडसाठी जुनोसमधील टेलीमेट्री
लेखिका: शालिनी मुखर्जी
परिचय
एआय क्लस्टर ट्रॅफिकला उच्च थ्रूपुट आणि कमी विलंबासह लॉसलेस नेटवर्कची आवश्यकता असल्याने, एआय नेटवर्कचा एक महत्त्वाचा घटक म्हणजे मॉनिटरिंग डेटाचे संकलन. जुनोस टेलीमेट्री मुख्य कार्यप्रदर्शन निर्देशकांचे बारीक देखरेख करण्यास सक्षम करते, ज्यात गर्दीचे व्यवस्थापन आणि ट्रॅफिक लोड बॅलेंसिंगसाठी थ्रेशोल्ड आणि काउंटर समाविष्ट आहेत. gRPC सत्रे टेलीमेट्री डेटाच्या प्रवाहाला समर्थन देतात. gRPC एक आधुनिक, मुक्त-स्रोत, उच्च कार्यप्रदर्शन फ्रेमवर्क आहे जे HTTP/2 वाहतुकीवर तयार केले आहे. हे मूळ द्विदिशात्मक प्रवाह क्षमतांना सक्षम करते आणि विनंती शीर्षलेखांमध्ये लवचिक कस्टम-मेटाडेटा समाविष्ट करते. टेलीमेट्रीची सुरुवातीची पायरी म्हणजे कोणता डेटा गोळा करायचा आहे हे जाणून घेणे. त्यानंतर आम्ही या डेटाचे विविध स्वरूपांमध्ये विश्लेषण करू शकतो. एकदा आम्ही डेटा संकलित केल्यावर, तो देखरेख करण्यासाठी, निर्णय घेण्यासाठी आणि ऑफर करण्यात येणा-या सेवेत सुधारणा करण्यासाठी सोप्या फॉरमॅटमध्ये सादर करणे महत्त्वाचे आहे. या पेपरमध्ये, आम्ही टेलीग्राफ, इन्फ्लक्सडीबी आणि ग्राफना यांचा समावेश असलेला टेलिमेट्री स्टॅक वापरतो. हा टेलीमेट्री स्टॅक पुश मॉडेल वापरून डेटा गोळा करतो. पारंपारिक पुल मॉडेल्स संसाधन-केंद्रित असतात, त्यांना व्यक्तिचलित हस्तक्षेपाची आवश्यकता असते आणि ते संकलित केलेल्या डेटामध्ये माहिती अंतर समाविष्ट करू शकतात. पुश मॉडेल ॲसिंक्रोनस पद्धतीने डेटा वितरीत करून या मर्यादांवर मात करतात. ते वापरकर्ता-अनुकूल वापरून डेटा समृद्ध करतात tags आणि नावे. एकदा डेटा अधिक वाचनीय स्वरूपात आला की, आम्ही तो डेटाबेसमध्ये संग्रहित करतो आणि परस्पर व्हिज्युअलायझेशनमध्ये वापरतो web नेटवर्कचे विश्लेषण करण्यासाठी अर्ज. आकृती. 1 आम्हाला हे स्टॅक कार्यक्षम डेटा संकलन, स्टोरेज आणि व्हिज्युअलायझेशनसाठी कसे डिझाइन केले आहे ते दर्शविते, नेटवर्क डिव्हाइसेसपासून डेटा कलेक्टरकडे ढकलण्यापासून ते विश्लेषणासाठी डॅशबोर्डवर प्रदर्शित होणारा डेटा.
TIG स्टॅक
आम्ही TIG स्टॅकसह सर्व सॉफ्टवेअर स्थापित करण्यासाठी Ubuntu सर्व्हरचा वापर केला.
टेलीग्राफ
डेटा संकलित करण्यासाठी, आम्ही 22.04.2 चालणाऱ्या उबंटू सर्व्हरवर टेलीग्राफ वापरतो. या डेमोमध्ये चालणारी टेलीग्राफ आवृत्ती 1.28.5 आहे.
टेलीग्राफ मेट्रिक्स गोळा करण्यासाठी आणि अहवाल देण्यासाठी प्लगइन चालित सर्व्हर एजंट आहे. हे प्रोसेसर वापरते plugins डेटा समृद्ध आणि सामान्य करण्यासाठी. आउटपुट plugins हा डेटा विविध डेटा स्टोअरमध्ये पाठवण्यासाठी वापरला जातो. या दस्तऐवजात आम्ही दोन वापरतो plugins: एक ओपन कॉन्फिग सेन्सर्ससाठी आणि दुसरा जुनिपर नेटिव्ह सेन्सर्ससाठी.
InfluxDB
टाइम सीरिज डेटाबेसमध्ये डेटा संचयित करण्यासाठी, आम्ही InfluxDB वापरतो. Telegraf मधील आउटपुट प्लगइन डेटा InfluxDB ला पाठवते, जे ते अत्यंत कार्यक्षम पद्धतीने संचयित करते. आम्ही V1.8 वापरत आहोत कारण V2 आणि वरील साठी CLI उपस्थित नाही.
ग्राफना
हा डेटा व्हिज्युअलायझ करण्यासाठी ग्राफना वापरला जातो. Grafana InfluxDB वरून डेटा खेचते आणि वापरकर्त्यांना समृद्ध आणि परस्परसंवादी डॅशबोर्ड तयार करण्यास अनुमती देते. येथे, आम्ही आवृत्ती 10.2.2 चालवत आहोत.
स्विच ऑन कॉन्फिगरेशन
हा स्टॅक अंमलात आणण्यासाठी, आकृती 2 मध्ये दर्शविल्याप्रमाणे आम्हाला प्रथम स्विच कॉन्फिगर करणे आवश्यक आहे. आम्ही पोर्ट 50051 वापरला आहे. येथे कोणतेही पोर्ट वापरले जाऊ शकते. QFX स्विचमध्ये लॉग इन करा आणि खालील कॉन्फिगरेशन जोडा.
टीप: हे कॉन्फिगरेशन लॅब/पीओसीसाठी आहे कारण पासवर्ड स्पष्ट मजकुरात प्रसारित केला जातो. हे टाळण्यासाठी SSL वापरा.
पर्यावरण
Nginx
ज्या पोर्टवर Grafana होस्ट केले आहे ते उघड करण्यात तुम्ही अक्षम असल्यास हे आवश्यक आहे. रिव्हर्स प्रॉक्सी एजंट म्हणून काम करण्यासाठी उबंटू सर्व्हरवर nginx स्थापित करणे ही पुढील पायरी आहे. एकदा nginx स्थापित झाल्यानंतर, आकृती 4 मध्ये दर्शविलेल्या ओळी "डीफॉल्ट" फाइलमध्ये जोडा आणि फाइल /etc/nginx वरून /etc/nginx/sites-enabled वर हलवा.
आकृती 5 मध्ये दर्शविल्याप्रमाणे nginx सेवेला पूर्ण प्रवेश देण्यासाठी फायरवॉल समायोजित केल्याची खात्री करा.
एकदा nginx स्थापित झाल्यानंतर आणि आवश्यक बदल केले गेले की, आम्ही ए मधून ग्राफनामध्ये प्रवेश करू शकू web उबंटू सर्व्हरचा IP पत्ता वापरून ब्राउझर जेथे सर्व सॉफ्टवेअर स्थापित केले आहेत.
Grafana मध्ये एक छोटीशी चूक आहे जी तुम्हाला डीफॉल्ट पासवर्ड रीसेट करू देत नाही. तुम्हाला ही समस्या येत असल्यास या चरणांचा वापर करा.
Grafana मध्ये पासवर्ड सेट करण्यासाठी उबंटू सर्व्हरवर करावयाच्या पायऱ्या:
- /var/lib/grafana/grafana.db वर जा
- sqllite3 स्थापित करा
o sudo apt sqlite3 स्थापित करा - ही कमांड तुमच्या टर्मिनलवर चालवा
o sqlite3 grafana.db - Sqlite कमांड प्रॉम्प्ट उघडते; खालील क्वेरी चालवा:
> login='admin' वापरकर्त्याकडून हटवा - ग्राफाना रीस्टार्ट करा आणि वापरकर्तानाव आणि पासवर्ड म्हणून प्रशासक टाइप करा. ते नवीन पासवर्डसाठी प्रॉम्प्ट करते.
एकदा सर्व सॉफ्टवेअर इन्स्टॉल झाल्यावर, टेलीग्राफमध्ये कॉन्फिग फाइल तयार करा जी स्विचमधून टेलिमेट्री डेटा खेचण्यास आणि InfluxDB वर ढकलण्यात मदत करेल.
Openconfig सेन्सर प्लगइन
उबंटू सर्व्हरवर, सर्व आवश्यक जोडण्यासाठी /etc/telegraf/telegraf.conf फाइल संपादित करा. plugins आणि सेन्सर्स. ओपनकॉन्फिग सेन्सर्ससाठी, आम्ही आकृती 6 मध्ये दर्शविलेले gNMI प्लगइन वापरतो. डेमो हेतूंसाठी, होस्टनाव "स्पाइन1" म्हणून जोडा, जीआरपीसीसाठी वापरला जाणारा पोर्ट क्रमांक "50051", स्विचचे वापरकर्तानाव आणि पासवर्ड आणि नंबर जोडा अयशस्वी झाल्यास पुन्हा डायल करण्यासाठी सेकंदांचा.
सबस्क्रिप्शनच्या श्लोकामध्ये, या विशिष्ट सेन्सरसाठी "cpu" नाव, सेन्सर पथ आणि स्विचमधून हा डेटा मिळविण्यासाठी वेळ मध्यांतर जोडा. सर्व ओपन कॉन्फिग सेन्सरसाठी समान प्लगइन inputs.gnmi आणि inputs.gnmi.subscription जोडा. (चित्र 6)
नेटिव्ह सेन्सर प्लगइन
हे ज्युनिपर टेलीमेट्री इंटरफेस प्लगइन आहे जे मूळ सेन्सर्ससाठी वापरले जाते. त्याच telegraf.conf फाइलमध्ये, नेटिव्ह सेन्सर प्लगइन inputs.jti_openconfig_telemetry जोडा जेथे फील्ड जवळजवळ openconfig प्रमाणेच आहेत. प्रत्येक सेन्सरसाठी एक अद्वितीय क्लायंट आयडी वापरा; येथे, आपण "telegraf3" वापरतो. या सेन्सरसाठी येथे वापरलेले अद्वितीय नाव आहे “मेम” (आकृती 7).
शेवटी, हा सेन्सर डेटा InfluxDB ला पाठवण्यासाठी outputs.influxdb आउटपुट प्लगइन जोडा. येथे, डेटाबेसला "टेलिग्राफ" असे नाव दिले आहे आणि वापरकर्तानाव "इनफ्लक्स" आणि पासवर्ड "इनफ्लक्सडीबी" (आकृती 8).
एकदा तुम्ही telegraf.conf फाइल संपादित केल्यानंतर, टेलीग्राफ सेवा पुन्हा सुरू करा. आता, सर्व अनन्य सेन्सरसाठी मोजमाप तयार केले आहेत की नाही हे सुनिश्चित करण्यासाठी InfluxDB CLI तपासा. InfluxDB CLI एंटर करण्यासाठी "इन्फ्लक्स" टाइप करा.
आकृतीत पाहिल्याप्रमाणे. 9, influxDB प्रॉम्प्ट प्रविष्ट करा आणि डेटाबेस "टेलीग्राफ" वापरा. सेन्सर्सना दिलेली सर्व अद्वितीय नावे मोजमाप म्हणून सूचीबद्ध आहेत.
कोणत्याही एका मापनाचे आउटपुट पाहण्यासाठी, फक्त टेलीग्राफ फाइल बरोबर आहे आणि सेन्सर कार्यरत आहे याची खात्री करण्यासाठी, आकृती 1 मध्ये दर्शविल्याप्रमाणे "cpu मर्यादा 10 मधून * निवडा" कमांड वापरा.
प्रत्येक वेळी telegraf.conf फाइलमध्ये बदल केल्यावर, InfluxDB थांबवण्याची खात्री करा, Telegraf रीस्टार्ट करा आणि नंतर InfluxDB सुरू करा.
ब्राउझरवरून Grafana वर लॉग इन करा आणि डेटा योग्यरित्या संकलित होत असल्याची खात्री केल्यानंतर डॅशबोर्ड तयार करा.
कनेक्शन > InfuxDB > नवीन डेटा स्रोत जोडा वर जा.
- या डेटा स्रोताला नाव द्या. या डेमोमध्ये ते "चाचणी-1" आहे.
- HTTP श्लोक अंतर्गत, Ubuntu सर्व्हर IP आणि 8086 पोर्ट वापरा.
- InfluxDB तपशिलांमध्ये, "टेलीग्राफ" हेच डेटाबेस नाव वापरा आणि उबंटू सर्व्हरचे वापरकर्तानाव आणि पासवर्ड द्या.
- जतन करा आणि चाचणी करा क्लिक करा. तुम्हाला "यशस्वी" संदेश दिसत असल्याची खात्री करा.
- डेटा स्रोत यशस्वीरित्या जोडल्यानंतर, डॅशबोर्डवर जा आणि नवीन क्लिक करा. एडिटर मोडमध्ये एआय/एमएल वर्कलोडसाठी आवश्यक असलेले काही डॅशबोर्ड तयार करूया.
Exampलेस ऑफ सेन्सर आलेख
खालील माजी आहेतampएआय/एमएल नेटवर्कचे परीक्षण करण्यासाठी आवश्यक असलेल्या काही प्रमुख काउंटरची संख्या.
पर्सेनtagस्पाइन -0 वर प्रवेश इंटरफेस et-0/0/1 साठी e वापर
- चाचणी-1 म्हणून डेटा स्रोत निवडा.
- FROM विभागात, "इंटरफेस" म्हणून मोजमाप निवडा. या सेन्सर मार्गासाठी हे अद्वितीय नाव वापरले आहे.
- WHERE विभागात, डिव्हाइस निवडा::tag, आणि मध्ये tag मूल्य, स्विचचे होस्टनाव निवडा, म्हणजे, स्पाइन१.
- SELECT विभागात, तुम्हाला मॉनिटर करायची असलेली सेन्सर शाखा निवडा; या प्रकरणात “फील्ड(/इंटरफेस/इंटरफेस[if_name='et-0/0/0']/state/counters/if_in_1s_octets)” निवडा. आता त्याच विभागात, “+” वर क्लिक करा आणि हे गणना गणित (/50000000000 * 100) जोडा. आम्ही मुळात टक्केवारी मोजत आहोतtage 400G इंटरफेसचा वापर.
- FORMAT "वेळ-मालिका" असल्याची खात्री करा आणि ALIAS विभागात आलेखाला नाव द्या.
कोणत्याही रांगेसाठी पीक बफर वहिवाट
- चाचणी-1 म्हणून डेटा स्रोत निवडा.
- FROM विभागात, "बफर" म्हणून मोजमाप निवडा.
- WHERE विभागात, भरण्यासाठी तीन फील्ड आहेत. डिव्हाइस निवडा::tag, आणि मध्ये tag मूल्य स्विचचे होस्टनाव निवडा (म्हणजे स्पाइन-1); आणि निवडा /cos/interfaces/interface/@name::tag आणि इंटरफेस निवडा (उदा. et- 0/0/0); आणि रांग देखील निवडा, /cos/interfaces/interface/queues/queue/@queue::tag आणि रांग क्रमांक 4 निवडा.
- SELECT विभागात, तुम्हाला मॉनिटर करायची असलेली सेन्सर शाखा निवडा; या प्रकरणात "फील्ड(/cos/interfaces/interface/queues/queue/PeakBufferOccupancy)" निवडा.
- FORMAT "वेळ-मालिका" असल्याची खात्री करा आणि ALIAS विभागात आलेखाला नाव द्या.
तुम्ही et-17/0/0, et-0/0/0, et-1/0/0 इ. साठी आकृती 2 मध्ये पाहिल्याप्रमाणे एकाच आलेखावर एकाधिक इंटरफेससाठी डेटा एकत्र करू शकता.
PFC आणि ECN म्हणजे व्युत्पन्न
सरासरी व्युत्पन्न शोधण्यासाठी (वेळ श्रेणीमधील मूल्यातील फरक), रॉ क्वेरी मोड वापरा.
ही इन्फ्लक्स क्वेरी आहे जी स्पाइन-0 च्या ET-0/0/1 वरील दोन PFC मूल्यांमधील सरासरी व्युत्पन्न शोधण्यासाठी आम्ही एका सेकंदात वापरली आहे.
व्युत्पन्न निवडा(मीन(“/interfaces/interface[if_name='et-0/0/0′]/state/pfc-counter/tx_pkts”), 1s) “इंटरफेस” वरून (“डिव्हाइस”::tag = 'स्पाइन-1') आणि $timeFilter GROUP BY वेळेनुसार($interval)
व्युत्पन्न निवडा(मीन(“/interfaces/interface[if_name='et-0/0/8′]/state/error-counters/ecn_ce_marked_pkts”), 1s) “इंटरफेस” वरून (“डिव्हाइस”::tag = 'स्पाइन-1') आणि $timeFilter GROUP BY वेळेनुसार($interval)
इनपुट संसाधन त्रुटी म्हणजे व्युत्पन्न
संसाधन त्रुटींसाठी रॉ क्वेरी म्हणजे व्युत्पन्न आहे:
व्युत्पन्न निवडा(मीन(“/interfaces/interface[if_name='et-0/0/0′]/state/error-counters/if_in_resource_errors”), 1s) “इंटरफेस” वरून (“डिव्हाइस”::tag = 'स्पाइन-1') आणि $timeFilter GROUP BY वेळेनुसार($interval)
टेल थेंब म्हणजे व्युत्पन्न
टेल ड्रॉप्ससाठी रॉ क्वेरी म्हणजे व्युत्पन्न आहे:
व्युत्पन्न निवडा(मीन("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s) "बफर" मधून ("डिव्हाइस"::tag = 'लीफ-1' आणि “/cos/interfaces/interface/@name”::tag = 'et-0/0/0' आणि “/cos/interfaces/interface/queues/queue/@queue”::tag = '4') आणि $timeFilter GROUP BY time($__interval) (null)
CPU वापर
- चाचणी-1 म्हणून डेटा स्रोत निवडा.
- FROM विभागात, "newcpu" म्हणून मोजमाप निवडा.
- WHERE मध्ये, भरण्यासाठी तीन फील्ड आहेत. डिव्हाइस निवडा::tag आणि मध्ये tag मूल्य स्विचचे होस्टनाव निवडा (म्हणजे स्पाइन -1). आणि /घटक/घटक/गुणधर्म/मालमत्ता/नाव मध्ये:tag, आणि cpuutilization-एकूण आणि नावात निवडा::tag RE0 निवडा.
- SELECT विभागात, तुम्हाला मॉनिटर करायची असलेली सेन्सर शाखा निवडा. या प्रकरणात, "फील्ड(राज्य/मूल्य)" निवडा.
बिट्स/सेकंद मध्ये एकाधिक इंटरफेसवर एकाधिक स्विचसाठी टेल ड्रॉप्सचे गैर-नकारात्मक व्युत्पन्न शोधण्यासाठी कच्ची क्वेरी.
non_negative_derivative(mean("/cos/interfaces/interface/queues/queue/tailDropBytes"), 1s) *8 "बफर" कुठे (डिव्हाइस::) निवडाtag =~ /^स्पाइन-[1-2]$/) आणि (“/cos/interfaces/interface/@name”::tag =~ /et-0\/0\/[0-9]/ किंवा “/cos/interfaces/interface/@name”::tag=~/et-0\/0\/1[0-5]/) आणि $timeFilter वेळेनुसार गट($__interval),डिव्हाइस::tag भरा (शून्य)
हे काही माजी होतेampएआय/एमएल नेटवर्कचे परीक्षण करण्यासाठी तयार केले जाऊ शकणारे आलेख.
सारांश
हा पेपर टेलीमेट्री डेटा खेचण्याची आणि आलेख तयार करून त्याचे दृश्यमान करण्याची पद्धत स्पष्ट करतो. हा पेपर विशेषत: AI/ML सेन्सर्सबद्दल बोलतो, दोन्ही नेटिव्ह आणि ओपन कॉन्फिग पण सेटअप सर्व प्रकारच्या सेन्सर्ससाठी वापरला जाऊ शकतो. सेटअप तयार करताना तुम्हाला भेडसावणाऱ्या अनेक समस्यांसाठी आम्ही उपाय देखील समाविष्ट केले आहेत. या पेपरमध्ये चित्रित केलेल्या पायऱ्या आणि आउटपुट आधी नमूद केलेल्या TIG स्टॅकच्या आवृत्त्यांसाठी विशिष्ट आहेत. हे सॉफ्टवेअरची आवृत्ती, सेन्सर्स आणि जुनोस आवृत्तीवर अवलंबून बदलण्याच्या अधीन आहे.
संदर्भ
सर्व सेन्सर पर्यायांसाठी जुनिपर यांग डेटा मॉडेल एक्सप्लोरर
https://apps.juniper.net/ydm-explorer/
ओपनकॉन्फिग सेन्सर्ससाठी ओपनकॉन्फिग फोरम
https://www.openconfig.net/projects/models/
कॉर्पोरेट आणि विक्री मुख्यालय
जुनिपर नेटवर्क्स, इंक.
1133 नावीन्यपूर्ण मार्ग
सनीवाले, सीए 94089 यूएसए
फोन: ८८८. जुनिपर (८८८.५८६.४७३७)
किंवा +1.408.745.2000
फॅक्स: +1.408.745.2100
www.juniper.net
APAC आणि EMEA मुख्यालय
जुनिपर नेटवर्क्स इंटरनॅशनल BV
बोईंग अव्हेन्यू 240
1119 PZ Schiphol-Rijk
आम्सटरडॅम, नेदरलँड
फोन: +31.207.125.700
फॅक्स: +31.207.125.701
कॉपीराइट 2023 जुनिपर नेटवर्क्स. Inc. Ail अधिकार राखीव. जुनिपर नेटवर्क, जुनिपर नेटवर्क लोगो, जुनिपर, जुनोस आणि इतर ट्रेडमार्क हे जुनिपर नेटवर्कचे नोंदणीकृत ट्रेडमार्क आहेत. inc आणि/किंवा युनायटेड स्टेट्स आणि इतर देशांमध्ये त्याचे संलग्न. इतर नावे त्यांच्या संबंधित मालकांची ट्रेडमार्क असू शकतात. ज्युनिपर नेटवर्क या दस्तऐवजातील कोणत्याही चुकीची जबाबदारी घेत नाही. जुनिपर नेटवर्क बदलण्याचा अधिकार राखून ठेवते. सुधारित करा. हस्तांतरित करा, किंवा अन्यथा सूचना न देता हे प्रकाशन सुधारित करा.
यावर फीडबॅक पाठवा: design-center-comments@juniper.net V1.0/240807/ejm5-telemetry-junos-ai-ml
कागदपत्रे / संसाधने
![]() |
एआय एमएल वर्कलोड्स सॉफ्टवेअरसाठी जुनिपर नेटवर्क्स टेलीमेट्री जुनोसमध्ये [pdf] वापरकर्ता मार्गदर्शक एआय एमएल वर्कलोड्स सॉफ्टवेअरसाठी जुनोसमध्ये टेलीमेट्री, एआय एमएल वर्कलोड्स सॉफ्टवेअरसाठी जुनोस, एआय एमएल वर्कलोड्स सॉफ्टवेअर, वर्कलोड्स सॉफ्टवेअर, सॉफ्टवेअर |