जैसे-जैसे आपका आईटी इन्फ्रास्ट्रक्चर आकार में बढ़ता है और जटिल होता जाता है, आपको यह सुनिश्चित करने के लिए अधिक ध्यान देने के लिए मजबूर किया जा सकता है कि सब कुछ ठीक से प्रबंधित हो।
क्लाउड के उदय के बाद से, यह विशेष रूप से अधिक प्रासंगिक हो गया है, यह देखते हुए कि अब हमारे पास कई अलग-अलग स्थानों में फैली हुई तकनीकी जानकारी है।
लेकिन व्यापक लॉग विश्लेषण करने में सक्षम होना थकाऊ, समय लेने वाला और दर्दनाक उबाऊ हो सकता है।
अपने आप को इस बोझ से मुक्त करने का एक सरल लेकिन प्रभावी तरीका है ऐसे सॉफ़्टवेयर या एप्लिकेशन का उपयोग करना जो निगरानी लॉग को आसान बनाने के लिए डिज़ाइन किए गए हैं ... और ठीक यही एलेक्सिस गार्डिन ने अपने एप्लिकेशन लॉगब में किया है।
कई अन्य सास समाधानों के विपरीत, लॉगब इन कार्यों को ऑन-प्रिमाइसेस और ओपन सोर्स कर सकता है। नीचे दिए गए चरणों का पालन करके, आप एक ऐसा एप्लिकेशन बनाने में सक्षम होंगे जो आपके लिए एप्लिकेशन लॉग को एकत्रित, एक्सप्लोर और विश्लेषण करेगा।
इस एप्लिकेशन के केंद्र में बेजोड़ दक्षता के साथ विभिन्न स्थानों पर लॉग का पता लगाने और उनका विश्लेषण करने की RediSearch की क्षमता पर निर्भरता थी। आइए देखें कि एलेक्सिस ने इस एप्लिकेशन को एक साथ कैसे लाया।
लेकिन इससे पहले कि हम इसमें गोता लगाएँ, हमें आपको बता देना चाहिए कि हमारे पास आपके लिए Redis लॉन्चपैड पर जाँच करने के लिए अनुप्रयोगों की एक रोमांचक श्रृंखला है।
- आप क्या बनाएंगे?
- आपको क्या चाहिए?
- वास्तुकला
- आरंभ करना
- डेटा कैसे संग्रहीत किया जाता है
- डेटा कैसे क्वेरी किया जाता है
- खोज बार कैसे काम करता है?
- लॉगब को अपने प्रोजेक्ट में कैसे एकीकृत करें?
- निष्कर्ष
आप एक विशेष ऐप बनाएंगे जो लॉग एप्लिकेशन को इकट्ठा करने, विश्लेषण करने और एक्सप्लोर करने के लिए रेडिस द्वारा संचालित है। नीचे दिए गए चरणों में, हम आवश्यक घटकों के साथ, इस एप्लिकेशन को बनाने के लिए आवश्यक चीज़ों के A-Z से गुजरेंगे।
भले ही आप रेडिस के लिए नए हैं, हम आपको दिखाएंगे कि इस शक्तिशाली डेटाबेस के साथ कैसे पकड़ बनाया जाए। क्या आप आरंभ करने के लिए तैयार हैं?
ठीक है, चलो सीधे गोता लगाएँ।
2. आपको क्या चाहिए?
- धाराप्रवाह : लॉग को संसाधित करने के लिए क्रॉस-प्लेटफ़ॉर्म ओपन-सोर्स डेटा संग्रह सॉफ़्टवेयर के रूप में उपयोग किया जाता है।
- फ्लुएंट के लिए रेडिस आउटपुट प्लगइन: फ्लुएंट-प्लगइन-रेडिस रेडिस को आउटपुट करने के लिए एक फ्लुएंट प्लगइन है। रेडीसर्च:
- डॉकर : डेवलपर्स के लिए कंटेनरों में अनुप्रयोगों को पैकेज करने के लिए एक मंच के रूप में उपयोग किया जाता है।
- डॉकर लिखें : बहु-कंटेनर डॉकर अनुप्रयोगों को परिभाषित करने और चलाने के लिए उपयोग किया जाता है।
3. वास्तुकला
लॉग्स को आते हुए देखने में आपको लगभग एक मिनट का समय लग सकता है। आप पृष्ठ पर लॉग को दाईं ओर साइडबार से फ़िल्टर करके देख सकते हैं। वैकल्पिक रूप से, आप उन्हें शीर्ष पर खोज बार के माध्यम से फ़िल्टर या पूर्ण-पाठ क्वेरी द्वारा खोजते हैं।जब आप लॉग पर क्लिक करते हैं, तो विवरण प्रदर्शित होगा और आपके पास व्यावसायिक संपत्तियों को अनुक्रमित करने का विकल्प होगा। इन व्यावसायिक गुणों को बाद में फ़िल्टर के रूप में उपयोग किया जा सकता है।
यदि आप मुख्य पृष्ठ पर वापस आते हैं, तो आप अपने द्वारा अभी-अभी बनाए गए लॉग को खोजने का प्रयास कर सकते हैं।नोट: एक कंटेनर में लॉग के उत्पादन और लॉगब में उसके प्रदर्शन के बीच लगभग 1 मिनट का विलंब होता है। यह विलंबता डेटाबेस में लॉग को एकत्रित करने, स्वरूपित करने और अंतर्ग्रहण करने की प्रक्रिया के कारण होती है।
5. यह कैसे काम करता है?
डेटा कैसे संग्रहीत किया जाता है
डेटा Fluentd Redis प्लगइन का उपयोग करके संग्रहीत किया जाता है। यह प्रत्येक लॉग को एचएसईटी के साथ स्टोर करता है। उदाहरण के लिए:HSET स्तर DEBUG संदेश "हैलो वर्ल्ड" थ्रेड मुख्य
डेटा कैसे क्वेरी किया जाता है
यह वह वस्तु है जिसका उपयोग आप लॉग में हेरफेर करने और उन्हें Redis से पुनर्प्राप्त करने के लिए करेंगे। इस क्रिया को करने से Logub UI को लॉग प्रदर्शित करने की अनुमति मिल जाएगी। अपने लॉग में जटिल क्वेरी करने के लिए, आप RediSearch का उपयोग कर सकते हैं।
चूंकि आप RediSearch स्कीमा को गतिशील रूप से बदलने में सक्षम हैं, आप 'सूची' डेटा संरचना का उपयोग करके यह ट्रैक कर सकते हैं कि किस स्कीमा को अनुक्रमित किया गया है।
उपरोक्त आदेश आपको उपयोगकर्ता इनपुट के आधार पर एक सादा पाठ RediSearch क्वेरी बनाने की अनुमति देगा। RediSearch लाइब्रेरी के शीर्ष पर निर्मित छोटे QueryBuilders का एक समूह है। यह वही आदेश है जो आपके लॉग में व्यापक और कुशल खोज करने के लिए लॉगब यूआई द्वारा भेजा जाएगा।
चरण 2:खोज बार कैसे कार्य करें
आप टैग या पूर्ण-पाठ खोज द्वारा खोज कर सकते हैं। नीचे कुछ उदाहरण दिए गए हैं जिनका उपयोग आप मॉडल के रूप में कर सकते हैं यदि आप फंस जाते हैं।
- env:dev Ut ea vero voluptate* एक संदेश के साथ देव परिवेश में सभी लॉग खोजेगा जो Ut ea vero voluptate से प्रारंभ होता है
- -env:prod Ut ea vero voluptate* उत्पाद को छोड़कर सभी वातावरण में सभी लॉग खोजेगा, जो Ut ea vero voluptate से शुरू होने वाले संदेश के साथ होगा
- originRequest:France OriginRequest:USA उन सभी लॉग्स को खोजेगा जिनमें फ़्रांस या संयुक्त राज्य अमेरिका में निर्धारित मान के साथ एक फ़ील्ड OriginRequest है
- “कुत्ता” “बिल्ली” उन सभी लॉग को खोजेगा जिनमें “कुत्ता” और “बिल्ली” शब्द शामिल हैं
- -“कुत्ता” “बिल्ली” उन सभी लॉग को खोजेगा जिनमें “कुत्ता” नहीं है लेकिन “बिल्ली” है
आपके लिए ऐप के साथ एक अच्छा परीक्षण अनुभव प्राप्त करने के लिए, हम अत्यधिक अनुशंसा करते हैं कि आप खेल के मैदान के साथ अपना लॉग बनाएं, व्यावसायिक गुण जोड़ें और फिर इसे महसूस करने के लिए कुछ प्रयोग करें।
चरण 3:लॉगब को अपने प्रोजेक्ट में कैसे एकीकृत करें
लॉगब संचालित करने के लिए आपको डॉकर छवियों की निम्न सूची की आवश्यकता होगी:
- Redis - Logub Fluentd छवि को एकत्र करने और लॉग भेजने के लिए Fluentd छवि लॉगब करें
- RediSearch मॉड्यूल के साथ Redis छवि Redis Mod Image
- लॉग एक्सप्लोर करने की कार्यक्षमता प्रदान करने के लिए लॉग कंट्रोलर इमेज - लॉगब कंटोलर इमेज
- लॉग को एक्सप्लोर करने और क्वेरी करने के लिए UI लॉग करें - लॉगब UI इमेज
लॉग लॉग प्रारूप
अभी के लिए, लॉगब केवल एक विशेष लॉग प्रारूप को संभाल सकता है। भविष्य में, इस प्रारूप का विस्तार किया जाएगा और अधिक अनुकूलन योग्य होगा।
यहाँ लॉगब प्रारूप है
कृपया ध्यान दें, ये फ़ील्ड अनिवार्य नहीं हैं।
यदि आप अपनी व्यावसायिक संपत्तियों को जोड़ना चाहते हैं, तो आपको एक नेस्टेड JSON ऑब्जेक्ट जोड़ना होगा जिसमें कुंजी के रूप में "mdc" हो। उदाहरण के लिए:
लॉग में लॉग प्रकाशित करना
Loghub में लॉग का पता लगाने के लिए, आपके कंटेनरों को Docker Fluentd लॉगिंग ड्राइवर का उपयोग करने की आवश्यकता है। यहां ग्राहक एकीकरण के लिए कॉन्फ़िगरेशन उदाहरण दिया गया है।
चरण 4:Logub में Redis सेट करना
RediSearch
लॉगब एप्लिकेशन लॉग को संसाधित करने के लिए RediSearch की कार्यक्षमता का उपयोग करता है। जब लॉग रेडिस डेटाबेस में बने रहते हैं, तो उनके साथ 3 प्रकार के फ़ील्ड होते हैं:
- सिस्टम गुण: ऐसी जानकारी है जो डॉकर और फ्लुएंट लॉग भेजते समय हमें प्रदान करते हैं (उदाहरण के लिए पर्यावरण, कंटेनर का नाम इत्यादि)।
- मूल गुण: एक लॉग में मूल जानकारी होती है (जैसे टाइमस्टैम्प, सेवा आदि)। ये गुण स्वचालित रूप से RediSearch में अनुक्रमित होते हैं।
- व्यावसायिक गुण: एक विशिष्ट क्षेत्र में एक लॉगब उपयोगकर्ता द्वारा दिया जाता है। यहां उपयोगकर्ता को कुंजी-मान (मानचित्र) प्रारूप का सम्मान करना होगा। RediSearch की उन्नत क्षमताओं के लिए धन्यवाद, यदि आप इन पर कुछ शोध करना चाहते हैं, तो आप इन 'व्यावसायिक गुणों' को अनुक्रमित करने में सक्षम होंगे।
यहां हमारे पास एक लॉग का एक उदाहरण है जो बताता है कि फ्लुएंट रेडिस डेटाबेस में फ़्लैट होने और बने रहने पर हमारा टूल कैसे कार्य करता है। लॉगब एपीआई उपयोगकर्ता या कंपनी को एमडीसी ऑब्जेक्ट के एक या सभी क्षेत्रों को अनुक्रमित करने की अनुमति देगा।
इस प्रोजेक्ट में, टैग डेटाटाइप व्यापक रूप से उपयोग किया जाता है। लॉग में खोज करते समय अक्सर व्यावसायिक गुणों के आधार पर लॉग की खोज की जाती है (उदाहरण के लिए एक ग्राहक आईडी)। इसके अलावा, हम TextField डेटाटाइप . का भी उपयोग करते हैं लॉग संदेशों के लिए। यह उपयोगकर्ता को इस क्षेत्र में पूर्ण-पाठ खोज करने की अनुमति देता है।
यहां खोज प्रक्रिया का सरलीकृत स्कीमा दिया गया है:
उपयोगकर्ता द्वारा अनुक्रमित फ़ील्ड का ट्रैक रखने के लिए, आप एक 'स्कीमा' ऑब्जेक्ट भी जोड़ सकते हैं जो सूची प्रकार का उपयोग करता है रेडिस का। इस एप्लिकेशन को किसने बनाया?एलेक्सिस गार्डिन
एलेक्सिस एक अभिनव सॉफ्टवेयर इंजीनियर है जो वर्तमान में Zendoc के लिए काम करता है। यह देखने के लिए कि वह किन अन्य परियोजनाओं में शामिल रहे हैं, उनके GitHub पृष्ठ पर जाएं।