MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

ClusterControl सलाहकारों के साथ MongoDB की निगरानी और सुरक्षा

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

यही कारण है कि हमने ClusterControl में डेटाबेस सलाहकार बनाए:छोटी स्क्रिप्ट जो आपके लिए मेट्रिक्स की व्याख्या और संयोजन कर सकती हैं, और लागू होने पर आपको सलाह दे सकती हैं। MySQL के लिए हमने सबसे अधिक उपयोग किए जाने वाले MySQL मॉनिटरिंग चेक की एक विस्तृत लाइब्रेरी बनाई है। लेकिन MongoDB के लिए भी हमारे पास आपके निपटान के लिए सलाहकारों की एक विस्तृत लाइब्रेरी है। इस ब्लॉग पोस्ट के लिए, हमने आपके लिए नौ सबसे महत्वपूर्ण लोगों को चुना है। हम उनमें से प्रत्येक का विस्तार से वर्णन करेंगे।

इस ब्लॉग पोस्ट में हम जिन नौ MongoDB सलाहकारों को शामिल करेंगे, वे हैं:

  • डिस्क माउंट विकल्प जांचें
  • नुमा जांच
  • संग्रह लॉक प्रतिशत (एमएमएपी)
  • प्रतिकृति अंतराल
  • प्रतिकृति विंडो
  • अन-शार्डेड डेटाबेस और संग्रह (केवल शार्ड क्लस्टर)
  • प्रमाणीकरण सक्षम जांच
  • प्रमाणीकरण/प्राधिकरण विवेक जांच
  • त्रुटि का पता लगाना (नया सलाहकार)

डिस्क माउंट विकल्प सलाहकार

आपके डिस्क को सबसे इष्टतम तरीके से माउंट करना बहुत महत्वपूर्ण है। ClusterControl डिस्क माउंट विकल्प सलाहकार के साथ, हम दैनिक आधार पर आपकी डेटा डिस्क को अधिक बारीकी से देखते हैं। इस सलाहकार में, हम प्रयुक्त फाइल सिस्टम, माउंट विकल्प और ऑपरेटिंग सिस्टम की io अनुसूचक सेटिंग्स की जांच करते हैं।

हम जांचते हैं कि क्या आपके डिस्क को noatime और nodiratime के साथ माउंट किया गया है। इन्हें सेट करने से डिस्क का प्रदर्शन कम हो जाएगा, क्योंकि किसी फ़ाइल या निर्देशिका के प्रत्येक एक्सेस पर डिस्क पर एक्सेस टाइम लिखना होता है। चूंकि यह डेटाबेस पर लगातार होता है, यह एक अच्छी प्रदर्शन सेटिंग है और आपके SSDs के स्थायित्व को भी बढ़ाता है।

फ़ाइल सिस्टम के लिए हम आधुनिक फ़ाइल सिस्टम जैसे xfs, . का उपयोग करने की अनुशंसा करते हैं zfs, ext4 या btrfs. ये फाइल सिस्टम प्रदर्शन को ध्यान में रखकर बनाए गए हैं। io अनुसूचक को सलाह दी जाती है कि या तो noop . पर रहें या समय सीमा। समय सीमा वर्षों से डेटाबेस के लिए डिफ़ॉल्ट रहा है, लेकिन SSDs जैसे तेज़ संग्रहण के लिए धन्यवाद noop अनुसूचक आजकल अधिक समझ में आ रहा है।

नुमा चेक सलाहकार

MongoDB के लिए हम अपने NUMA . को सक्षम करते हैं सलाहकार की जाँच करें। यह सलाहकार जाँच करेगा कि क्या NUMA (नॉन-यूनिफ़ॉर्म एक्सेस मेमोरी) आपके सिस्टम पर सक्षम किया गया है, और यदि ऐसा है, तो इसे बंद करने के लिए।

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

संग्रह लॉक प्रतिशत (एमएमएपी)

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

MongoDB प्रतिकृति अंतराल सलाहकार

यदि आप सेकेंडरी के माध्यम से पढ़ने के लिए मोंगोडीबी को स्केल कर रहे हैं, तो नजर रखने के लिए प्रतिकृति अंतराल बहुत महत्वपूर्ण है। MongoDB क्लाइंट ड्राइवर केवल उन सेकेंडरी का उपयोग करेंगे जो बहुत पीछे नहीं हैं, अन्यथा आप पुराने डेटा को परोसने का जोखिम उठा सकते हैं।

MongoDB के अंदर प्राथमिक अपने सेकेंडरी की प्रतिकृति स्थिति का ट्रैक रखेगा। सलाहकार प्रतिकृति जानकारी प्राप्त करेगा और प्रतिकृति अंतराल की रक्षा करेगा। यदि अंतराल बहुत अधिक हो जाता है तो यह एक चेतावनी या महत्वपूर्ण स्थिति संदेश भेजेगा।

MongoDB प्रतिकृति विंडो सलाहकार

प्रतिकृति अंतराल के आगे, प्रतिकृति विंडो देखने के लिए एक महत्वपूर्ण मीट्रिक है। MongoDB oplog एक एकल संग्रह है, जिसे (पूर्व निर्धारित) आकार में सीमित किया गया है। एक बार जब ओप्लॉग समाप्त हो जाता है और एक नए लेनदेन को संग्रहीत करने की आवश्यकता होती है, तो यह नए लेनदेन के लिए जगह बनाने के लिए सबसे पुराने लेनदेन को बेदखल कर देगा। प्रतिकृति विंडो oplog में सबसे पुराने और नवीनतम लेनदेन के बीच सेकंड की संख्या को दर्शाती है।

यह मीट्रिक बहुत महत्वपूर्ण है क्योंकि आपको यह जानने की आवश्यकता है कि आप कितनी देर तक रेप्लिकासेट से सेकेंडरी निकाल सकते हैं, इससे पहले कि यह प्रतिकृति में बहुत पीछे होने के कारण मास्टर के साथ पकड़ने में सक्षम नहीं होगा। साथ ही यदि कोई माध्यमिक पिछड़ने लगे, तो यह जानना अच्छा होगा कि हम इसे कब तक सहन कर सकते हैं, इससे पहले कि माध्यमिक अब पकड़ में न आए।

MongoDB शेल में, प्रतिकृति विंडो की गणना करने के लिए एक फ़ंक्शन उपलब्ध है। ClusterControl में यह सलाहकार समान गणना करने के लिए फ़ंक्शन का उपयोग करता है। लाभ यह होगा कि अब आपको बहुत छोटी प्रतिकृति विंडो पर सतर्क किया जा सकता है।

मोंगोडीबी डीबीए बनें - मोंगोडीबी को प्रोडक्शन में लाना सीखें कि मोंगोडीबी को तैनात करने, मॉनिटर करने, प्रबंधित करने और स्केल करने के लिए आपको क्या जानने की जरूरत है मुफ्त में डाउनलोड करें

MongoDB अन-शेयर्ड डेटाबेस और कलेक्शन एडवाइज़र

एक शार्प किए गए MongoDB क्लस्टर में, सभी अन-शार्ड डेटाबेस और संग्रह MongoDB शार्द राउटर द्वारा एक डिफ़ॉल्ट प्राथमिक शार्ड को असाइन किए जाते हैं। यह प्राथमिक शार्क डेटाबेस और संग्रह के बीच भिन्न हो सकती है, लेकिन सामान्य तौर पर यह सबसे अधिक डिस्क स्थान उपलब्ध होने वाला शार्द होगा।

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

इस कारण से हमने एक सलाहकार बनाया है जो ऐसा होने से रोकेगा। सलाहकार सभी डेटाबेस और संग्रह को स्कैन करेगा, और आपको चेतावनी देगा कि क्या इसे शार्प नहीं किया गया है।

प्रमाणीकरण सक्षम जांच

MongoDB में प्रमाणीकरण सक्षम किए बिना, लॉग इन करने वाले किसी भी उपयोगकर्ता को एक व्यवस्थापक के रूप में माना जाएगा। यह एक गंभीर जोखिम है क्योंकि आम तौर पर व्यवस्थापक कार्य, जैसे उपयोगकर्ता बनाना या बैकअप बनाना, अब किसी के लिए भी उपलब्ध हो गए हैं। यह उजागर किए गए MongoDB सर्वर के साथ संयुक्त है, जिसके परिणामस्वरूप हाल ही में MongoDB फिरौती हैक हुए, जबकि प्रमाणीकरण की एक सरल सक्षमता से इनमें से अधिकांश मामलों को रोका जा सकता था।

हमने एक सलाहकार लागू किया है जो सत्यापित करता है कि आपके MongoDB सर्वर में प्रमाणीकरण सक्षम है या नहीं। यह स्पष्ट रूप से इसे कॉन्फ़िगरेशन में सेट करके, या परोक्ष रूप से प्रतिकृति कीफ़ाइल को सक्षम करके किया जा सकता है। यदि यह सलाहकार यह पता लगाने में विफल रहता है कि प्रमाणीकरण सक्षम किया गया है, तो आपको तुरंत इस पर कार्रवाई करनी चाहिए, क्योंकि आपके सर्वर के साथ छेड़छाड़ की संभावना है।

प्रमाणीकरण/प्राधिकरण विवेक जांच

प्रमाणीकरण सक्षम सलाहकार के बगल में, हमने एक सलाहकार भी बनाया है जो MongoDB में प्रमाणीकरण और प्राधिकरण दोनों के लिए एक विवेकपूर्ण जांच करता है।

MongoDB में प्रमाणीकरण और प्राधिकरण को केंद्रीय स्थान पर नहीं रखा जाता है, बल्कि डेटाबेस स्तर पर निष्पादित और संग्रहीत किया जाता है। आम तौर पर उपयोगकर्ता डेटाबेस से कनेक्ट होंगे, उस डेटाबेस के विरुद्ध प्रमाणीकरण करेंगे जिसका वे उपयोग करना चाहते हैं। हालांकि, सही अनुदान के साथ, अन्य (असंबंधित) डेटाबेस के खिलाफ प्रमाणित करना और फिर भी किसी अन्य डेटाबेस का उपयोग करना संभव है। आम तौर पर यह पूरी तरह से ठीक है, जब तक कि उपयोगकर्ता के पास किसी अन्य डेटाबेस पर अत्यधिक अधिकार (जैसे व्यवस्थापक भूमिका) न हो।

इस सलाहकार में, हम सत्यापित करते हैं कि क्या ये अत्यधिक भूमिकाएँ मौजूद हैं, और क्या वे कोई खतरा पैदा कर सकते हैं। हम एक ही समय में कमजोर और अनुमान लगाने में आसान पासवर्ड की भी जांच करते हैं।

त्रुटि का पता लगाना (नया सलाहकार)

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

यह सलाहकार मोंगोडीबी त्रुटियों (जोर) के आंकड़ों को देखेगा और इसका अर्थ समझेगा। हम मिले रुझानों की व्याख्या करते हैं और आपके MongoDB परिवेश में त्रुटियों को कम करने के बारे में सलाह देते हैं!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:लोकेल ::पहलू ::_S_create_c_locale नाम मान्य नहीं है

  2. MongoDB में दस्तावेज़ अपडेट करने के 4 तरीके

  3. MongoDB + C# ड्राइवर + तत्वों की क्वेरी सरणी जहां प्रत्येक सरणी तत्व में क्वेरी करने के लिए उप-दस्तावेज़ होता है

  4. उल्का में समग्र कार्य का उपयोग कैसे करें

  5. मोंगो में सुपरयुसर बनाएं