PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL के लिए Percona वितरण की निगरानी - प्रमुख मेट्रिक्स

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

PostgreSQL के लिए Percona वितरण

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

  • pg_repack :यह PostgreSQL डेटाबेस ऑब्जेक्ट का पुनर्निर्माण करता है।
  • pgaudit :यह मानक पोस्टग्रेएसक्यूएल लॉगिंग सुविधा के माध्यम से विस्तृत सत्र या ऑब्जेक्ट ऑडिट लॉगिंग प्रदान करता है।
  • pgBackRest :यह PostgreSQL के लिए एक बैकअप और पुनर्स्थापना समाधान है।
  • पेट्रोनी :यह PostgreSQL के लिए एक उच्च उपलब्धता समाधान है।
  • pg_stat_monitor :यह पोस्टग्रेएसक्यूएल के लिए आंकड़े एकत्र और एकत्र करता है और हिस्टोग्राम जानकारी प्रदान करता है।
  • अतिरिक्त PostgreSQL योगदान एक्सटेंशन का संग्रह।

Percona वितरण PostgreSQL के लिए भी libpq पुस्तकालय के साथ भेज दिया गया है। इसमें लाइब्रेरी फ़ंक्शंस का एक सेट होता है जो क्लाइंट प्रोग्राम को PostgreSQL बैकएंड सर्वर पर क्वेरी पास करने और इन प्रश्नों के परिणाम प्राप्त करने की अनुमति देता है।

PostgreSQL के लिए Percona वितरण में क्या मॉनिटर करें

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

ध्यान रखें कि जब आपकी कोई एक मेट्रिक प्रभावित होती है, तो यह अन्य को भी प्रभावित कर सकती है, जिससे समस्या का निवारण अधिक जटिल हो जाता है। इस कार्य को यथासंभव सरल बनाने के लिए एक अच्छी निगरानी और चेतावनी प्रणाली का होना महत्वपूर्ण है।

ऑपरेटिंग सिस्टम मॉनिटरिंग

ऑपरेटिंग सिस्टम के व्यवहार की निगरानी करना एक महत्वपूर्ण बात है। आइए यहां जांच करने के लिए कुछ बिंदु देखें।

CPU उपयोग

यदि सामान्य व्यवहार नहीं है तो CPU उपयोग का अत्यधिक प्रतिशत एक समस्या हो सकती है। इस मामले में, उन प्रक्रियाओं की पहचान करना महत्वपूर्ण है जो इस समस्या को उत्पन्न कर रहे हैं। यदि समस्या डेटाबेस प्रक्रिया है, तो आपको यह जांचना होगा कि डेटाबेस के अंदर क्या हो रहा है।

RAM मेमोरी या स्वैप उपयोग

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

डिस्क उपयोग

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

लोड औसत

यह ऊपर बताए गए तीन बिंदुओं से संबंधित है। अत्यधिक CPU, RAM, या डिस्क उपयोग द्वारा एक उच्च लोड औसत उत्पन्न किया जा सकता है।

नेटवर्क

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

PostgreSQL डेटाबेस मॉनिटरिंग

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

क्वेरी मॉनिटरिंग

डिफ़ॉल्ट रूप से, PostgreSQL को संगतता और स्थिरता को ध्यान में रखते हुए कॉन्फ़िगर किया गया है, इसलिए आपको अपने प्रश्नों और उसके पैटर्न को जानना होगा, और आपके पास मौजूद ट्रैफ़िक के आधार पर अपने डेटाबेस को कॉन्फ़िगर करना होगा। यहां, आप किसी विशिष्ट क्वेरी के लिए क्वेरी प्लान की जांच करने के लिए EXPLAIN कमांड का उपयोग कर सकते हैं, और आप प्रत्येक नोड पर SELECT, INSERT, UPDATE, या DELETEs की मात्रा की निगरानी भी कर सकते हैं। यदि आपके पास एक ही समय में एक लंबी क्वेरी या बड़ी संख्या में क्वेरी चल रही हैं, तो यह सभी प्रणालियों के लिए एक समस्या हो सकती है।

सक्रिय सत्रों की निगरानी करना

आपको सक्रिय सत्रों की संख्या पर भी नजर रखनी चाहिए। यदि आप सीमा के करीब हैं, तो आपको यह जांचना होगा कि क्या कुछ गलत है या यदि आपको केवल max_connections मान बढ़ाने की आवश्यकता है। संख्या में अंतर कनेक्शन की वृद्धि या कमी हो सकती है। कनेक्शन पूलिंग, लॉकिंग या नेटवर्क समस्या का खराब उपयोग कनेक्शन की संख्या से संबंधित सबसे आम समस्याएं हैं।

डेटाबेस लॉक

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

प्रतिकृति की निगरानी

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

बैकअप की निगरानी करना

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

डेटाबेस लॉग की निगरानी करना

आपको FATAL या गतिरोध जैसी त्रुटियों के लिए या यहां तक ​​कि प्रमाणीकरण समस्याओं या लंबे समय तक चलने वाली क्वेरी जैसी सामान्य त्रुटियों के लिए भी अपने डेटाबेस लॉग की निगरानी करनी चाहिए। अधिकांश त्रुटियों को ठीक करने के लिए विस्तृत उपयोगी जानकारी के साथ लॉग फ़ाइल में लिखा जाता है।

डैशबोर्ड

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

अलर्ट करना

यदि आपको प्रत्येक समस्या के बारे में सूचना प्राप्त नहीं होती है, तो केवल सिस्टम की निगरानी करने का कोई मतलब नहीं है। चेतावनी प्रणाली के बिना, आपको यह देखने के लिए निगरानी उपकरण पर जाना चाहिए कि क्या सब कुछ ठीक है, और यह संभव हो सकता है कि आपको कई घंटे पहले से कोई बड़ी समस्या हो रही हो।

ClusterControl के साथ अपने PostgreSQL डेटाबेस की निगरानी करना

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

ClusterControl में आपके लिए कुछ सबसे सामान्य मीट्रिक का विश्लेषण करने के लिए डैशबोर्ड का एक पूर्वनिर्धारित सेट है।

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

आप अलर्ट भी बना सकते हैं, जो आपको आपके क्लस्टर में होने वाली घटनाओं की सूचना देता है, या पेजरड्यूटी या स्लैक जैसी विभिन्न सेवाओं के साथ एकीकृत करें।

इसके अलावा, आप क्वेरी मॉनिटर अनुभाग की जांच कर सकते हैं, जहां आप पा सकते हैं शीर्ष क्वेरी, चल रही क्वेरी, क्वेरी आउटलेयर और क्वेरी आँकड़े।

इन सुविधाओं के साथ, आप देख सकते हैं कि आपका PostgreSQL डेटाबेस कैसा चल रहा है।

बैकअप प्रबंधन के लिए, ClusterControl इसे आपके डेटा की सुरक्षा, सुरक्षा और पुनर्प्राप्ति के लिए केंद्रीकृत करता है, और सत्यापन बैकअप सुविधा के साथ, आप पुष्टि कर सकते हैं कि बैकअप जाना अच्छा है या नहीं।

यह सत्यापन बैकअप कार्य बैकअप को एक अलग स्टैंडअलोन होस्ट में पुनर्स्थापित करेगा, इसलिए आप सुनिश्चित कर सकते हैं कि बैकअप काम कर रहा है।

ClusterControl कमांड लाइन से निगरानी करना

स्क्रिप्टिंग और कार्यों को स्वचालित करने के लिए, या यदि आप केवल कमांड लाइन पसंद करते हैं, तो ClusterControl में s9s टूल है। यह आपके डेटाबेस क्लस्टर के प्रबंधन के लिए एक कमांड-लाइन टूल है।

क्लस्टर सूची

नोड सूची

निष्कर्ष

निगरानी नितांत आवश्यक है, और इसे कैसे करना है इसका सबसे अच्छा तरीका बुनियादी ढांचे और सिस्टम पर ही निर्भर करता है। इस ब्लॉग में, हम आपको PostgreSQL के लिए Percona वितरण से परिचित कराते हैं, और हमने आपके PostgreSQL वातावरण में निगरानी के लिए कुछ महत्वपूर्ण मीट्रिक का उल्लेख किया है। हमने आपको यह भी दिखाया कि कैसे ClusterControl इस कार्य के लिए उपयोगी है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में टाइमस्टैम्प से दिनांक (yyyy/mm/dd) निकालें

  2. पोस्टग्रेज में सीरियल बढ़ाया जा रहा है, भले ही मैंने संघर्ष पर जोड़ा कुछ भी न करें

  3. Libpq का उपयोग करके iPhone ऐप को PostgreSQL से कनेक्ट करें

  4. Docker पर PostgreSQL इंस्टॉलेशन

  5. PostgreSQL के लिए ट्यूनिंग इनपुट/आउटपुट (I/O) संचालन