Docker Containers को Debug करने का सबसे तेज़ तरीका (Dozzle)

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

Transcript

00:00:00आप पांच टर्मिनल्स और एंडलेस स्क्रॉलिंग के साथ डॉकर को डीबग करना जारी रख सकते हैं।
00:00:04या फिर आप एक ब्राउज़र विंडो खोलकर अपने सभी कंटेनर लॉग्स लाइव देख सकते हैं।
00:00:08यह है Dozzle।
00:00:10एक ओपन सोर्स रियल टाइम लॉग व्यूअर जो कंटेनर लॉग्स को सीधे आपके ब्राउज़र पर
00:00:13लाइव स्ट्रीम करता है और उन्हें असल में स्टोर नहीं करता।
00:00:15इसीलिए यह बहुत छोटा, लगभग सात मेगाबाइट का और तेज़ बना रहता है।
00:00:19आइए देखते हैं कि आप इसे कैसे सेट अप कर सकते हैं और अभी इसका असली उपयोग कैसे कर सकते हैं।
00:00:22[संगीत]
00:00:28हो सकता है आपके पास तीन टर्मिनल्स खुले हों, या शायद पांच।
00:00:30हम हर एक पर डॉकर लॉग्स चला रहे होते हैं।
00:00:32हम स्क्रॉल कर रहे हैं, सर्च कर रहे हैं और टैब्स बदल रहे हैं।
00:00:35कंटेनर्स के साथ काम करने की यह बस एक सामान्य लागत है।
00:00:37Dozzle अब हमें बिना पूरा लॉगिंग स्टैक बनाए, सब कुछ एक ही जगह
00:00:41लाइव देखने का एक सरल तरीका देता है।
00:00:43यह डॉकर, डॉकर स्वार्म, कुबेरनेट्स और एजेंट्स के ज़रिए
00:00:46मल्टी-होस्ट सेटअप को सपोर्ट करता है, साथ ही वर्जन 10 अभी लॉन्च हुआ है।
00:00:50जिसमें अलर्ट्स, वेबहुक्स, क्लाउड सपोर्ट और ज़रूरी सिक्योरिटी अपडेट्स जोड़े गए हैं।
00:00:54यह सिर्फ एक काम के लिए बना है: डीबगिंग के दौरान लाइव विज़िबिलिटी।
00:00:57अब आपको दिखाने का समय आ गया है कि इसे कैसे सेट अप करें और
00:00:59यह डॉकर ऐप्स को डीबग करने के आपके तरीके को पूरी तरह कैसे बदल सकता है।
00:01:02अगर आपके डेवलपमेंट वर्कफ़्लो में समय बचाना मायने रखता है, तो सब्सक्राइब करें।
00:01:06हम हमेशा बदलाव लाने वाले व्यावहारिक टूल्स के बारे में बताते रहते हैं।
00:01:09बाहर से देखने पर Dozzle एक और लॉगिंग टूल जैसा लगता है।
00:01:12हमें लगता है कि यह कुछ भारी होगा, जो डेटा स्टोर करता हो,
00:01:15जिसे डेटाबेस की ज़रूरत हो, लेकिन यहाँ मामला इसके उलट है।
00:01:19आइए इसे 60 सेकंड से भी कम समय में सेट अप करते हैं।
00:01:22सबसे पहले, उस कमांड से इमेज पुल करें जो मैं यहाँ चला रहा हूँ।
00:01:26मैं इसे चलाने वाला हूँ, डॉकर सॉकेट को माउंट करूँगा और पोर्ट एक्सपोज़ करूँगा, बस इतना ही।
00:01:30कोई डेटाबेस नहीं है, कोई इंडेक्सिंग नहीं है और मुझे इंतज़ार भी नहीं करना पड़ता।
00:01:33मैंने अपने पोर्ट्स बदल दिए हैं क्योंकि मैं पहले से ही अन्य कंटेनर्स चला रहा हूँ,
00:01:37जिनमें से एक स्टैंडर्ड पोर्ट का उपयोग कर रहा है।
00:01:39अब मैं बस अपना ब्राउज़र खोल सकता हूँ, लोकलहोस्ट खोल सकता हूँ और
00:01:42हमें तुरंत अपने कंटेनर्स चलते हुए दिखाई देते हैं।
00:01:44सेटअप की जो पेचीदगियाँ आप उम्मीद करते हैं, वे यहाँ कभी नहीं दिखतीं।
00:01:47यह बस बहुत अच्छी तरह से चलता है।
00:01:49अगर आप डॉकर कंपोज़ का उपयोग करते हैं, तो इमेज के साथ सर्विस डिफाइन करें, पोर्ट मैप करें,
00:01:53डॉकर सॉकेट माउंट करें और नो-एनालिटिक्स फ़्लैग पास करें।
00:01:56फिर डॉकर कंपोज़ अप चलाएं, आपका काम हो गया।
00:01:59ध्यान देने वाली एकमात्र चीज़ सॉकेट परमिशन है और यह सुनिश्चित करना है कि
00:02:02अगर आपको लेटेस्ट अपडेट्स चाहिए तो आप वर्जन 10 या उससे नया इस्तेमाल कर रहे हों।
00:02:07यह पूरा सेटअप लूप था।
00:02:08इसमें कुछ भी पेचीदा नहीं है, लेकिन इसका UI और उपयोगिता कमाल की है।
00:02:13अब यहाँ से आपको सब कुछ समझ आने लगेगा।
00:02:16जब आप Dozzle खोलते हैं, तो आपको अपने सभी चलते हुए कंटेनर्स की एक साफ लिस्ट दिखती है।
00:02:20इसमें कोई भारी डैशबोर्ड नहीं है, सिर्फ हमारी सर्विसेज़ हैं।
00:02:24मैं सर्च बार में “DB” जैसा कुछ टाइप करना शुरू कर सकता हूँ।
00:02:27और तुरंत आपका डेटाबेस कंटेनर दिखाई देने लगता है, सटीक नाम की ज़रूरत नहीं है।
00:02:32एक कंटेनर पर क्लिक करें और लॉग्स लाइव स्ट्रीम होने लगेंगे।
00:02:35हमें कुछ भी रिफ्रेश करने की ज़रूरत नहीं है, यह अपने आप होता है।
00:02:38मैंने फेलिंग रिक्वेस्ट को सिम्युलेट करने के लिए एक डमी कंटेनर बनाया है, लेकिन
00:02:41अगर आपके पास पहले से ही कोई ऐप है, तो बस एक फेल्ड रिक्वेस्ट ट्रिगर करने की कोशिश करें।
00:02:46जैसे ही वह एरर होता है, वह ब्राउज़र में दिखाई देने लगता है।
00:02:48मुझे टर्मिनल्स नहीं बदलने पड़ते, मैं बार-बार कमांड्स नहीं चला रहा हूँ।
00:02:51जैसे ही कुछ खराब होता है, मैं उसे सीधे इसी इंटरफ़ेस में देख सकूँगा।
00:02:54वर्जन 10 में, डक डीबी (Duck DB) द्वारा संचालित SQL मोड है।
00:02:58आप टर्मिनल में मोड बदल सकते हैं और एंट्रीज़ सिलेक्ट करने जैसी क्वेरी चला सकते हैं।
00:03:03यह यहाँ बहुत बेसिक है, लेकिन मैं एक क्वेरी बना सकता हूँ और
00:03:05इसका रिज़ल्ट यहाँ Dozzle में वापस मिल जाएगा, समझ गए?
00:03:07पर इससे हमें अंदाज़ा मिल जाता है।
00:03:09तो आँखों से स्कैन करने के बजाय, अब हम लॉग्स को सीधे क्वेरी कर सकते हैं।
00:03:13आप चाहें तो कोई कंडीशन भी डिफाइन कर सकते हैं जैसे CPU इस्तेमाल 80% से ऊपर जाना और
00:03:17स्लैक (Slack) या किसी अन्य एंडपॉइंट पर वेबहुक जोड़ सकते हैं,
00:03:20जो इसे और भी इंटरैक्टिव बनाता है।
00:03:22यह नए अपडेट के खास फीचर्स में से एक था।
00:03:24इसे अपनी लोकल मशीन से बाहर एक्सपोज़ करने से पहले,
00:03:27सुनिश्चित करें कि आप ऑथेंटिकेशन (authentication) इनेबल कर लें।
00:03:29एनवायरनमेंट वेरिएबल सेट करें और
00:03:31एक यूज़र कॉन्फ़िगरेशन फ़ाइल दें जो एक्सेस को सुरक्षित रखे।
00:03:35अब कुबेरनेट्स में, इसे मैनिफ़ेस्ट्स या हेल्म (Helm) का उपयोग करके डिप्लॉय करें।
00:03:38ज़रूरी लॉग्स माउंट करें और एक सर्विस के ज़रिए एक्सपोज़ करें।
00:03:42आगे बढ़ने से पहले बस दो आखिरी बातें।
00:03:44मैं साफ़ कर देना चाहता हूँ कि यह क्या है और क्या नहीं है।
00:03:48Dozzle सरल, हल्का और लाइव स्ट्रीमिंग पर केंद्रित है।
00:03:52यह लॉग्स स्टोर नहीं करता, जिससे यह तेज़ और प्राइवेसी के लिए बेहतर रहता है।
00:03:57लेकिन इसका मतलब यह भी है कि यह लंबे समय तक डेटा रखने के लिए नहीं बना है।
00:04:00तो आप इसे उसी हिसाब से इस्तेमाल करें।
00:04:02अगर आपको पर्सिस्टेंट स्टोरेज और डैशबोर्ड की ज़रूरत है,
00:04:04तो बाहर ऐसे अनगिनत बेहतर विकल्प मौजूद हैं जिन्हें हम पहले से इस्तेमाल कर रहे हैं।
00:04:07लेकिन कंटेनर्स का विश्लेषण करने के लाइव स्ट्रीमिंग ओपन सोर्स तरीकों में,
00:04:11मुझे यह काफी कूल लगा।
00:04:13हर वो मिनट जो आप टर्मिनल बदलने और लॉग्स स्कैन करने में बिताते हैं,
00:04:15वह समय है जब आप समस्या को ठीक नहीं कर रहे होते।
00:04:18Dozzle उम्मीद है कि उसे दूर कर देता है, कम से कम ऐसा लगता तो है।
00:04:22यह आपके लॉग्स को सेंट्रलाइज़ करता है, फ़िल्टरिंग, SQL क्वेरीज़ और स्प्लिट व्यूज़ जोड़ता है, और
00:04:27वर्जन 10 में अलर्ट्स भी जोड़ता है, वो भी बिना भारी या जटिल हुए।
00:04:31अपने अगले डॉकर प्रोजेक्ट में इसे सेट अप करें और देखें कि आप कितनी जल्दी समस्याओं को पकड़ पाते हैं।
00:04:35अगर आपको यह मददगार लगा, तो अधिक देव-केंद्रित कंटेंट के लिए सब्सक्राइब करना न भूलें।
00:04:39मिलते हैं आपसे दूसरे वीडियो में।

Key Takeaway

Dozzle डेवलपर्स के लिए कई टर्मिनल्स के बीच स्विच किए बिना ब्राउज़र में सीधे डॉकर कंटेनर्स को डीबग करने का एक तेज़ और कुशल तरीका है।

Highlights

Dozzle एक हल्का, ओपन-सोर्स और रियल-टाइम डॉकर लॉग व्यूअर है जो केवल 7MB का है।

यह लॉग्स को स्टोर नहीं करता, जिससे यह तेज़ रहता है और प्राइवेसी के लिए बेहतर है।

वर्जन 10 में SQL मोड (DuckDB द्वारा संचालित), अलर्ट्स और वेबहुक जैसे नए फीचर्स जोड़े गए हैं।

इसे डॉकर सॉकेट को माउंट करके 60 सेकंड से भी कम समय में सेटअप किया जा सकता है।

यह मल्टी-होस्ट सेटअप, डॉकर स्वार्म और कुबेरनेट्स का समर्थन करता है।

सर्च बार के माध्यम से कंटेनर्स को नाम से खोजना और उनके लाइव लॉग्स देखना बेहद आसान है।

Timeline

Dozzle का परिचय और फायदे

वीडियो की शुरुआत डॉकर डीबगिंग की पारंपरिक समस्याओं, जैसे कई टर्मिनल्स और अंतहीन स्क्रॉलिंग को बताकर होती है। वक्ता Dozzle को एक ऐसे समाधान के रूप में पेश करता है जो ब्राउज़र में लाइव लॉग स्ट्रीम करता है। यह टूल बहुत छोटा है क्योंकि यह डेटा को स्टोर नहीं करता है। इसमें डॉकर स्वार्म और कुबेरनेट्स के लिए समर्थन के साथ-साथ हाल ही में जारी वर्जन 10 के अपडेट्स का उल्लेख है। इसका मुख्य उद्देश्य डीबगिंग के दौरान लाइव विज़िबिलिटी प्रदान करना और डेवलपर का समय बचाना है।

सेटअप और इंस्टालेशन गाइड

इस खंड में Dozzle को 60 सेकंड के भीतर सेटअप करने की प्रक्रिया दिखाई गई है। वक्ता इमेज को पुल करने, डॉकर सॉकेट को माउंट करने और पोर्ट एक्सपोज़ करने के चरणों का वर्णन करता है। इसमें डॉकर कंपोज़ का उपयोग करके सर्विस को परिभाषित करने और 'नो-एनालिटिक्स' फ़्लैग पास करने का तरीका भी बताया गया है। सेटअप के दौरान पोर्ट कॉन्फ़िगरेशन और वर्जन 10 की आवश्यकता जैसी महत्वपूर्ण बारीकियों पर चर्चा की गई है। यह प्रक्रिया सरल है क्योंकि इसमें किसी डेटाबेस या जटिल इंडेक्सिंग की आवश्यकता नहीं होती है।

UI फीचर्स और लाइव डीबगिंग

Dozzle के यूजर इंटरफेस (UI) के बारे में विस्तार से बताते हुए वक्ता दिखाता है कि कंटेनर्स की लिस्ट कैसे दिखती है। सर्च बार का उपयोग करके किसी भी कंटेनर को जल्दी से खोजने की सुविधा को प्रदर्शित किया गया है। जब आप किसी कंटेनर पर क्लिक करते हैं, तो लॉग्स बिना पेज रिफ्रेश किए लाइव स्ट्रीम होने लगते हैं। वक्ता एक फेलिंग रिक्वेस्ट का उदाहरण देकर दिखाता है कि कैसे एरर तुरंत ब्राउज़र में दिखाई देते हैं। इससे डेवलपर्स को बार-बार कमांड चलाने या टर्मिनल बदलने की ज़रूरत नहीं पड़ती है।

वर्जन 10 के एडवांस फीचर्स: SQL और अलर्ट्स

यहाँ वर्जन 10 के नए फीचर्स जैसे DuckDB आधारित SQL मोड पर ध्यान केंद्रित किया गया है। अब उपयोगकर्ता केवल आंखों से स्कैन करने के बजाय सीधे लॉग्स पर SQL क्वेरी चला सकते हैं। इसके अलावा, CPU उपयोग के 80% से ऊपर जाने जैसी स्थितियों के लिए स्लैक पर अलर्ट और वेबहुक सेट करने की सुविधा जोड़ी गई है। सुरक्षा के लिए, लोकल मशीन से बाहर उपयोग करने से पहले ऑथेंटिकेशन इनेबल करने की सलाह दी गई है। यह सेक्शन बताता है कि कैसे ये फीचर्स Dozzle को एक साधारण व्यूअर से अधिक शक्तिशाली बनाते हैं।

कुबेरनेट्स और अंतिम निष्कर्ष

अंतिम भाग में कुबेरनेट्स में मैनिफ़ेस्ट्स या हेल्म के माध्यम से Dozzle को डिप्लॉय करने के बारे में संक्षिप्त जानकारी दी गई है। वक्ता स्पष्ट करता है कि Dozzle लाइव स्ट्रीमिंग के लिए है और इसे लंबे समय तक डेटा स्टोर करने के लिए उपयोग नहीं किया जाना चाहिए। यदि पर्सिस्टेंट स्टोरेज की आवश्यकता है, तो अन्य भारी टूल्स बेहतर विकल्प हो सकते हैं। निष्कर्ष में कहा गया है कि Dozzle लॉग्स को सेंट्रलाइज़ करके और फ़िल्टरिंग प्रदान करके डीबगिंग समय को काफी कम कर देता है। वीडियो दर्शकों को इसे अपने अगले प्रोजेक्ट में आज़माने के लिए प्रोत्साहित करते हुए समाप्त होता है।

Community Posts

No posts yet. Be the first to write about this video!

Write about this video