Moodle एक लर्निंग मैनेजमेंट सिस्टम (LMS) है जिसे शिक्षकों, प्रशासकों और शिक्षार्थियों को व्यक्तिगत सीखने के माहौल बनाने के लिए एक मजबूत, सुरक्षित और एकीकृत प्रणाली प्रदान करने के लिए डिज़ाइन किया गया है। यह विभिन्न डेटाबेस तकनीकों (जैसे मारियाडीबी, माईएसक्यूएल, पोस्टग्रेएसक्यूएल, आदि) का समर्थन करता है।
COVID-19 के कारण, हाल ही में घर से काम करने और पढ़ाई करने में तेजी से वृद्धि हुई है, इसलिए इस तरह के शिक्षण मंच की उपलब्धता और प्रदर्शन अधिक महत्वपूर्ण होता जा रहा है। सब कुछ ठीक चल रहा है, यह सुनिश्चित करने का एकमात्र तरीका एक अच्छी निगरानी और चेतावनी प्रणाली है, लेकिन सवाल यह है कि आपको यह सुनिश्चित करने के लिए निगरानी करने की आवश्यकता है कि आपके सिस्टम स्वस्थ तरीके से चल रहे हैं।
इस ब्लॉग में, हम इस पर एक नज़र डालेंगे कि PostgreSQL Moodle डेटाबेस में आपको किन चीज़ों पर नज़र रखने की ज़रूरत है, और आप ClusterControl का उपयोग करके इसे कैसे आसान बना सकते हैं।
PostgreSQL में क्या मॉनिटर करना है
डेटाबेस नोड या क्लस्टर की निगरानी करते समय, दो मुख्य बातों को ध्यान में रखना चाहिए:ऑपरेटिंग सिस्टम और डेटाबेस स्वयं। आपको यह परिभाषित करने की आवश्यकता होगी कि आप दोनों पक्षों से कौन से मेट्रिक्स की निगरानी करने जा रहे हैं और आप इसे कैसे करने जा रहे हैं।
ऑपरेटिंग सिस्टम मॉनिटरिंग
एक महत्वपूर्ण बात (जो सभी डेटाबेस इंजनों और यहां तक कि सभी के लिए समान है) सिस्टम) ऑपरेटिंग सिस्टम व्यवहार की निगरानी करना है। यहां जांच के लिए कुछ बिंदु दिए गए हैं।
CPU उपयोग
यदि सामान्य व्यवहार नहीं है तो CPU उपयोग का अत्यधिक प्रतिशत एक समस्या हो सकती है। इस मामले में, इस मुद्दे को उत्पन्न करने वाली प्रक्रिया/प्रक्रियाओं की पहचान करना महत्वपूर्ण है। यदि समस्या डेटाबेस प्रक्रिया है, तो आपको यह जांचना होगा कि डेटाबेस के अंदर क्या हो रहा है।
RAM मेमोरी या स्वैप उपयोग
यदि आप इस मीट्रिक के लिए एक उच्च मान देख रहे हैं और आपके सिस्टम में कुछ भी नहीं बदला है, तो संभवतः आपको अपने डेटाबेस कॉन्फ़िगरेशन की जांच करने की आवश्यकता है। Shared_buffers और work_mem जैसे पैरामीटर इसे सीधे प्रभावित कर सकते हैं क्योंकि वे PostgreSQL डेटाबेस के लिए उपयोग की जाने वाली मेमोरी की मात्रा को परिभाषित करते हैं।
डिस्क उपयोग
डिस्क स्थान के उपयोग में असामान्य वृद्धि या अत्यधिक डिस्क एक्सेस खपत पर नजर रखने के लिए महत्वपूर्ण चीजें हैं क्योंकि पोस्टग्रेएसक्यूएल लॉग फ़ाइल में बड़ी संख्या में त्रुटियां लॉग हो सकती हैं या खराब कैश कॉन्फ़िगरेशन हो सकता है प्रश्नों को संसाधित करने के लिए मेमोरी का उपयोग करने के बजाय एक महत्वपूर्ण डिस्क एक्सेस खपत उत्पन्न करें।
लोड औसत
यह ऊपर बताए गए तीन बिंदुओं से संबंधित है। अत्यधिक CPU, RAM, या डिस्क उपयोग द्वारा एक उच्च लोड औसत उत्पन्न किया जा सकता है।
नेटवर्क
एक नेटवर्क समस्या सभी सिस्टम को प्रभावित कर सकती है क्योंकि एप्लिकेशन डेटाबेस से कनेक्ट नहीं हो सकता (या पैकेज खोने को कनेक्ट कर सकता है), इसलिए यह वास्तव में मॉनिटर करने के लिए एक महत्वपूर्ण मीट्रिक है। आप विलंबता या पैकेट हानि की निगरानी कर सकते हैं, और मुख्य समस्या एक नेटवर्क संतृप्ति, एक हार्डवेयर समस्या, या केवल एक खराब नेटवर्क कॉन्फ़िगरेशन हो सकती है।
डेटाबेस निगरानी
अपने PostgreSQL डेटाबेस की निगरानी करना न केवल यह देखने के लिए महत्वपूर्ण है कि क्या आपको कोई समस्या हो रही है, बल्कि यह भी जानना है कि क्या आपको अपने डेटाबेस के प्रदर्शन को बेहतर बनाने के लिए कुछ बदलने की आवश्यकता है, जो शायद सबसे महत्वपूर्ण चीजों में से एक है। एक डेटाबेस में निगरानी करने के लिए। आइए देखते हैं कुछ मेट्रिक्स जो इसके लिए महत्वपूर्ण हैं।
क्वेरी मॉनिटरिंग
सामान्य तौर पर, डेटाबेस डिफ़ॉल्ट रूप से संगतता और स्थिरता को ध्यान में रखते हुए कॉन्फ़िगर किए जाते हैं, इसलिए आपको अपने प्रश्नों और उनके पैटर्न को जानने की आवश्यकता है, और आपके पास मौजूद ट्रैफ़िक के आधार पर अपने डेटाबेस को कॉन्फ़िगर करने की आवश्यकता है। यहां, आप किसी विशिष्ट क्वेरी के लिए क्वेरी प्लान की जांच करने के लिए EXPLAIN कमांड का उपयोग कर सकते हैं, और आप प्रत्येक नोड पर SELECT, INSERT, UPDATE, या DELETEs की मात्रा की निगरानी भी कर सकते हैं। यदि आपके पास एक ही समय में एक लंबी क्वेरी या बड़ी संख्या में क्वेरी चल रही हैं, तो यह सभी प्रणालियों के लिए एक समस्या हो सकती है।
सक्रिय सत्र
आपको सक्रिय सत्रों की संख्या पर भी नजर रखनी चाहिए। यदि आप सीमा के करीब हैं, तो आपको यह जांचना होगा कि क्या कुछ गलत है या यदि आपको डेटाबेस कॉन्फ़िगरेशन में अधिकतम कनेक्शन मान बढ़ाने की आवश्यकता है। संख्या में अंतर कनेक्शन की वृद्धि या कमी हो सकती है। कनेक्शन पूलिंग, लॉकिंग या नेटवर्क समस्याओं का गलत उपयोग कनेक्शन की संख्या से संबंधित सबसे आम समस्याएं हैं।
ताला करता है
यदि आपके पास कोई प्रश्न है जो किसी अन्य प्रश्न की प्रतीक्षा कर रहा है, तो आपको यह जांचना होगा कि क्या वह अन्य प्रश्न एक सामान्य प्रक्रिया है या कुछ नया है। कुछ मामलों में, अगर कोई बड़ी टेबल पर अपडेट कर रहा है, उदाहरण के लिए, यह क्रिया आपके डेटाबेस के सामान्य व्यवहार को प्रभावित कर सकती है, जिससे बड़ी संख्या में ताले बन सकते हैं।
प्रतिकृति
प्रतिकृति की निगरानी के लिए प्रमुख मीट्रिक अंतराल और प्रतिकृति स्थिति हैं। सबसे आम मुद्दे नेटवर्किंग मुद्दे, हार्डवेयर संसाधन मुद्दे, या कम आयाम वाले मुद्दे हैं। यदि आप एक प्रतिकृति समस्या का सामना कर रहे हैं, तो आपको इसे जल्द से जल्द जानना होगा क्योंकि उच्च उपलब्धता वातावरण सुनिश्चित करने के लिए आपको इसे ठीक करने की आवश्यकता होगी।
बैकअप
डेटा हानि से बचना बुनियादी डीबीए कार्यों में से एक है, इसलिए आपको केवल बैकअप लेने की आवश्यकता नहीं है, आपको पता होना चाहिए कि क्या बैकअप पूरा हो गया था, और यदि यह प्रयोग करने योग्य है। आमतौर पर, इस अंतिम बिंदु पर ध्यान नहीं दिया जाता है, लेकिन बैकअप प्रक्रिया में शायद यह सबसे महत्वपूर्ण जांच है।
डेटाबेस लॉग
आपको त्रुटियों, प्रमाणीकरण समस्याओं, या यहां तक कि लंबे समय तक चलने वाली क्वेरी के लिए अपने डेटाबेस लॉग की निगरानी करनी चाहिए। अधिकांश त्रुटियों को ठीक करने के लिए विस्तृत उपयोगी जानकारी के साथ लॉग फ़ाइल में लिखा जाता है।
सूचनाएं और चेतावनी
यदि आपको प्रत्येक समस्या के बारे में सूचना प्राप्त नहीं होती है, तो केवल सिस्टम की निगरानी करना पर्याप्त नहीं है। चेतावनी प्रणाली के बिना, आपको यह देखने के लिए निगरानी उपकरण पर जाना चाहिए कि क्या सब कुछ ठीक है, और यह संभव हो सकता है कि आपको कई घंटे पहले से कोई बड़ी समस्या हो रही हो। अलर्ट करने का यह कार्य ईमेल अलर्ट, टेक्स्ट अलर्ट या स्लैक जैसे अन्य टूल का उपयोग करके किया जा सकता है।
ClusterControl के साथ अपने PostgreSQL Moodle डेटाबेस की निगरानी करना
ClusterControl एक प्रबंधन और निगरानी प्रणाली है जो आपके डेटाबेस को एक अनुकूल इंटरफेस से तैनात, प्रबंधित, मॉनिटर और स्केल करने में मदद करती है। ClusterControl में शीर्ष ओपन-सोर्स डेटाबेस तकनीकों के लिए समर्थन है और आप नियमित रूप से निष्पादित किए जाने वाले कई डेटाबेस कार्यों को स्वचालित कर सकते हैं जैसे नए नोड्स जोड़ना और स्केल करना, बैकअप चलाना और पुनर्स्थापित करना, और बहुत कुछ।
यह आपको कुछ सबसे सामान्य मीट्रिक का विश्लेषण करने के लिए डैशबोर्ड के पूर्वनिर्धारित सेट के साथ रीयल-टाइम में अपने सर्वर की निगरानी करने की अनुमति देता है।
यह आपको क्लस्टर में उपलब्ध ग्राफ़ को अनुकूलित करने की अनुमति देता है, और आप कर सकते हैं अधिक विस्तृत डैशबोर्ड बनाने के लिए एजेंट-आधारित निगरानी सक्षम करें।
आप अलर्ट भी बना सकते हैं, जो आपको आपके क्लस्टर की घटनाओं की सूचना देते हैं, या इसे पेजरड्यूटी या स्लैक जैसी विभिन्न सेवाओं के साथ एकीकृत करें।
क्वेरी मॉनिटर अनुभाग में, आप शीर्ष क्वेरी, चल रहे प्रश्नों को पा सकते हैं आपके डेटाबेस ट्रैफ़िक पर नज़र रखने के लिए क्वेरीज़, क्वेरीज़ आउटलेयर और क्वेरीज़ आँकड़े।
बैकअप प्रबंधन के लिए, ClusterControl इसे आपकी सुरक्षा, सुरक्षा और पुनर्प्राप्ति के लिए केंद्रीकृत करता है। डेटा, और सत्यापन बैकअप सुविधा के साथ, आप पुष्टि कर सकते हैं कि बैकअप जाना अच्छा है या नहीं।
यह सत्यापन बैकअप कार्य बैकअप को एक अलग स्टैंडअलोन होस्ट में पुनर्स्थापित करेगा, इसलिए आप सुनिश्चित कर सकते हैं कि बैकअप काम कर रहा है।
आखिरकार, आपको लॉग्स की जांच करने के लिए अपने डेटाबेस नोड तक पहुंचने की आवश्यकता नहीं है, आप अपने सभी डेटाबेस लॉग को ClusterControl लॉग सेक्शन में केंद्रीकृत पा सकते हैं।
जैसा कि आप देख सकते हैं, आप सभी उल्लिखित चीजों को उसी से संभाल सकते हैं केंद्रीकृत प्रणाली:क्लस्टर नियंत्रण।
ClusterControl कमांड लाइन से निगरानी करना
स्क्रिप्टिंग और कार्यों को स्वचालित करने के लिए, या यदि आप केवल कमांड लाइन पसंद करते हैं, तो ClusterControl में s9s टूल है। यह आपके डेटाबेस क्लस्टर के प्रबंधन के लिए एक कमांड-लाइन टूल है।
क्लस्टर सूची
नोड सूची
आप वे सभी कार्य कर सकते हैं जिन्हें आप ClusterControl में देख सकते हैं। UI (और इससे भी अधिक), और आप इस सुविधा को वहां से प्रबंधित करने के लिए कुछ बाहरी टूल जैसे slack के साथ एकीकृत कर सकते हैं।
निष्कर्ष
अपने मूडल पोस्टग्रेएसक्यूएल डेटाबेस की निगरानी करना आवश्यक है, लेकिन यह एक समय लेने वाला कार्य भी है यदि आपके पास इसमें मदद करने के लिए कोई उपकरण नहीं है। इस ब्लॉग में, हमने आपके मूडल पोस्टग्रेएसक्यूएल डेटाबेस में मॉनिटर करने के लिए कुछ प्रमुख मेट्रिक्स का उल्लेख किया है, और क्लस्टरकंट्रोल का उपयोग करके अपने सिस्टम को कैसे नियंत्रण में रखा जाए।