उत्पादन में महत्वपूर्ण डेटाबेस सेवाओं को चलाते समय, हमें डेटाबेस को जानने और उसकी निगरानी करने की आवश्यकता होती है। आप जिस डेटाबेस का उपयोग कर रहे हैं, उसमें आपको मुख्य मेट्रिक्स को समझने की आवश्यकता है। उदाहरण के लिए, जब आप मोंगोडीबी को वायर्ड टाइगर स्टोरेज इंजन के साथ चलाते हैं, तो आपको कनेक्शन, प्रमाणीकरण, संचालन, प्रतिकृति अंतराल, पृष्ठ दोष, लॉकिंग आदि जानने की आवश्यकता होती है।
इस ब्लॉग में, हम कुछ प्रमुख मेट्रिक्स की व्याख्या करेंगे जिनका उपयोग MongoDB के लिए Percona सर्वर की निगरानी के लिए किया जाता है।
डेटाबेस कनेक्शन
डेटाबेस कनेक्शन किसी भी डेटाबेस में महत्वपूर्ण महत्वपूर्ण मीट्रिक में से एक है। यह एप्लिकेशन से डेटाबेस तक आपके वर्तमान कनेक्शन/थ्रेड्स की निगरानी करता है। आप नीचे दिए गए आदेश के माध्यम से वर्तमान कनेक्शन की जांच कर सकते हैं:
> db.serverStatus().connections
यह इस बात का अंदाजा देता है कि आपके एप्लिकेशन डेटाबेस तक कितनी पहुंच बना रहे हैं। कनेक्शन की संख्या में अचानक वृद्धि आपके डेटाबेस सर्वर की समस्या का कारण बन सकती है। यह अपेक्षित है या नहीं?.
ClusterControl नीचे दिखाए गए अनुसार कनेक्शन से संबंधित जानकारी प्रदान करता है:
कमांड ऑपरेशंस
कमांड ऑपरेशंस मेट्रिक्स आपके वर्तमान संचालन की निगरानी करते हैं, या तो सम्मिलित करें, अपडेट करें, हटाएं या चुनें। आप नीचे दिए गए आदेश को क्रियान्वित करके वर्तमान कमांड संचालन की निगरानी कर सकते हैं:
>db.serverStatus().opcounters
कमांड ऑपरेशंस से, आप वास्तव में अपने एप्लिकेशन वर्कलोड को देख सकते हैं, क्या यह भारी लिखना या पढ़ना है। इस दृष्टिकोण से, आप कुछ निर्णय ले सकते हैं, उदाहरण के लिए, यदि आपके पास भारी पठन ट्रैफ़िक है, तो आप पठन प्रश्नों को वितरित करने के लिए द्वितीयक नोड्स को स्केल करना चाह सकते हैं।
ClusterControl में कमांड ऑपरेशंस की निगरानी करना सीधा है, आपको बस एजेंट आधारित मॉनिटरिंग को सक्षम करने की आवश्यकता है ताकि आप MongoDB सर्वर डैशबोर्ड में OpsCounter मेट्रिक्स को देख सकें जैसा कि नीचे दिखाया गया है:
रेप्लिकासेट लैग्स
जब आप रेप्लिकासेट या शार्डक्लस्टर आर्किटेक्चर चलाते हैं, तो एक महत्वपूर्ण कुंजी मेट्रिक प्रतिकृति लैग है। प्रतिकृति अंतराल तब होता है जब माध्यमिक नोड प्राथमिक नोड को लिखे जा रहे डेटा के साथ पकड़ नहीं पाते हैं। इसके कारण नेटवर्क विलंबता, डिस्क थ्रूपुट, धीमी क्वेरी आदि से भिन्न हो सकते हैं।
आप प्राथमिक नोड पर निम्न आदेश चलाकर वर्तमान प्रतिकृति अंतराल जानकारी की जांच कर सकते हैं:
> rs.printSlaveReplicationInfo()
लैग सूचना मेट्रिक्स सेकंड में है, इसलिए भारी समवर्ती कनेक्शन पर, यह सेकेंडरी नोड्स पर कुछ सेकंड से पीछे हो सकता है क्योंकि मोंगोडब में प्रतिकृति एसिंक्रोनस है।
ClusterControl में, मेट्रिक्स मैक्स रेप्लिकेशंस लैग MongoDB रेप्लिकासेट में पाया जा सकता है मॉनिटरिंग डैशबोर्ड।
पृष्ठ दोष
पृष्ठ दोष अधिकतर उच्च समवर्ती और उच्च लोड अनुप्रयोगों में होते हैं। पेज फॉल्ट तब होता है जब मोंगोडब प्रक्रिया डेटा प्राप्त करना चाहती है लेकिन यह मेमोरी में उपलब्ध नहीं है, तो मोंगोडब सर्वर डिस्क से डेटा पढ़ता है।
पृष्ठ दोषों की वर्तमान स्थिति की निगरानी के लिए, आप नीचे दिए गए आदेश का उपयोग कर सकते हैं:
>db.serverStatus().extra_info.page_faults
यह आपको पृष्ठ दोषों की संख्या देता है। भारी लोड के दौरान मान बढ़ सकता है और सर्वर खराब प्रदर्शन का अनुभव कर सकता है। आप धीमे क्वेरी लॉग को भी देखना चाहेंगे।
लॉक करना
मोंगोडीबी में लॉकिंग भी एक महत्वपूर्ण मीट्रिक है, यह आमतौर पर एक ही डेटासेट पर कई लेनदेन के साथ उच्च लोड अनुप्रयोगों में होता है। लॉक करने से गंभीर प्रदर्शन समस्याएं हो सकती हैं।
आप नीचे दिए गए आदेश का उपयोग करके डेटाबेस में वर्तमान लॉकिंग संचालन की जांच कर सकते हैं:
>db.currentOp()
जब हम db.currentOp() कमांड चलाते हैं, तो लॉकिंग से संबंधित कुछ जानकारी होती है। ClusterControl अपने MongoDB डैशबोर्ड में ग्लोबल लॉक के लिए मॉनिटर करता है जैसा कि नीचे दिखाया गया है:
निष्कर्ष
MongoDB के लिए Percona सर्वर में मॉनिटर करने के लिए ये कुछ महत्वपूर्ण प्रमुख मेट्रिक्स हैं। वे सर्वर में क्या हो रहा है, इसका वास्तविक समय दृश्य प्रदान करते हैं और किसी भी विसंगति को उजागर कर सकते हैं जिस पर आप कार्रवाई कर सकते हैं। ClusterControl कुछ डैशबोर्ड प्रदान करता है जो आपको आपके MongoDB डेटाबेस की दृश्यता प्रदान करते हैं।