डेटाबेस मॉनिटरिंग और अलर्टिंग डेटाबेस संचालन का एक विशेष रूप से महत्वपूर्ण हिस्सा है, क्योंकि हमें डेटाबेस की वर्तमान स्थिति को समझना चाहिए। यदि आपके पास अच्छी डेटाबेस निगरानी नहीं है, तो आप डेटाबेस में समस्याओं को जल्दी से नहीं ढूंढ पाएंगे। इसके बाद डाउनटाइम हो सकता है।
निगरानी के लिए उपलब्ध एक उपकरण pgDash है, जो PostgreSQL डेटाबेस के लिए निगरानी और अलर्ट करने के लिए एक SaaS एप्लिकेशन है।
pgDash इंस्टालेशन प्रक्रिया
pgDash के लिए पंजीकरण वेबसाइट के माध्यम से किया जा सकता है या रैपिडलूप द्वारा प्रदान किए गए अनुसार डाउनलोड (स्व-होस्ट) भी किया जा सकता है।
pgDash की स्थापना प्रक्रिया सरल है, हमें केवल होस्ट / डेटाबेस सर्वर साइड पर कॉन्फ़िगर करने के लिए pgDash से आवश्यक पैकेज डाउनलोड करने की आवश्यकता है।
आप इस प्रक्रिया को निम्नानुसार चला सकते हैं:
[[email protected] ~]$ curl -O -L https://github.com/rapidloop/pgmetrics/releases/download/v1.9.0/pgmetrics_1.9.0_linux_amd64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 647 100 647 0 0 965 0 --:--:-- --:--:-- --:--:-- 964
100 3576k 100 3576k 0 0 189k 0 0:00:18 0:00:18 --:--:-- 345k
[[email protected] ~]$ tar xvf pgmetrics_1.9.0_linux_amd64.tar.gz
pgmetrics_1.9.0_linux_amd64/LICENSE
pgmetrics_1.9.0_linux_amd64/README.md
pgmetrics_1.9.0_linux_amd64/pgmetrics
[[email protected] ~]$ curl -O -L https://github.com/rapidloop/pgdash/releases/download/v1.5.1/pgdash_1.5.1_linux_amd64.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 644 100 644 0 0 1370 0 --:--:-- --:--:-- --:--:-- 1367
100 2314k 100 2314k 0 0 361k 0 0:00:06 0:00:06 --:--:-- 560k
[[email protected] ~]$ tar xvf pgdash_1.5.1_linux_amd64.tar.gz
pgdash_1.5.1_linux_amd64/LICENSE
pgdash_1.5.1_linux_amd64/README.md
pgdash_1.5.1_linux_amd64/pgdash
[[email protected] ~]$ ./pgmetrics_1.9.0_linux_amd64/pgmetrics --no-password -f json ccdb | ./pgdash_1.5.1_linux_amd64/pgdash -a NrxaHk3JH2ztLI06qQlA4o report myserver1
pgDash के अलावा आपको निगरानी के लिए एक और पैकेज, pgmetrics, स्थापित करने की आवश्यकता होगी। pgmetrics एक ओपन सोर्स यूटिलिटी है जिसका काम pgDash के लिए आवश्यक डेटाबेस में जानकारी और आँकड़े एकत्र करना है, जबकि pgdash का काम उस जानकारी को डैशबोर्ड पर भेजना है।
यदि आप मॉनिटरिंग प्लेटफॉर्म में और डेटाबेस जोड़ना चाहते हैं, तो आपको इसकी आवश्यकता होगी प्रत्येक डेटाबेस के लिए उपरोक्त प्रक्रिया को दोहराने के लिए।
यद्यपि pgDash की स्थापना सरल है, फिर भी दोहराई जाने वाली प्रक्रियाएं हैं जो एक चिंता का विषय बन सकती हैं यदि अतिरिक्त डेटाबेस हैं जिन पर निगरानी रखने की आवश्यकता है। सबसे अधिक संभावना है कि आपको इसके लिए एक ऑटोमेशन स्क्रिप्ट बनाने की आवश्यकता होगी।
pgDash मेट्रिक्स
pgDash डैशबोर्ड के अंतर्गत 3 मुख्य विशेषताएं हैं, वे हैं:
- डैशबोर्ड :उप-मेनू जैसे:अवलोकन, डेटाबेस, क्वेरीज़, बैकएंड, लॉक्स, टेबलस्पेस, प्रतिकृति, वाल फ़ाइलें, बीजी राइटर्स, वैक्यूम, भूमिकाएं, कॉन्फ़िगरेशन शामिल हैं।
- टूल :इंडेक्स मैनेजमेंट, टेबलस्पेस मैनेजमेंट, डायग्नोस्टिक्स और टॉप-के जैसे उप-मेनू शामिल हैं।
- अलर्ट :अलर्ट और चेंज अलर्ट जैसे उप-मेनू से मिलकर बनता है।
ClusterControl द्वारा PostgreSQL मॉनिटरिंग
क्लस्टरकंट्रोल द्वारा संचालित मॉनिटरिंग डैशबोर्ड पर प्रदर्शित होने के लिए आवश्यक जानकारी एकत्र करने में ssh विधि और कंट्रोलर नोड से लक्ष्य डेटाबेस नोड से सीधे कनेक्शन का उपयोग करता है।
ClusterControl में एक एजेंट आधारित निगरानी सुविधा भी है जिसे आसानी से सक्रिय किया जा सकता है। आप इसे नीचे देख सकते हैं...
ClusterControl फिर प्रोमेथियस इंस्टॉलेशन प्रक्रिया, नोड एक्सपोर्टर्स और पोस्टग्रेएसक्यूएल को पूरा करेगा। निर्यातकों, लक्षित डेटाबेस में जिसका उद्देश्य मैट्रिक्स प्रदर्शित करने के लिए डैशबोर्ड द्वारा आवश्यक जानकारी एकत्र करना और एकत्र करना है।
यदि एजेंट आधारित निगरानी सक्रिय है, तो कोई भी नया लक्ष्य डेटाबेस स्वचालित रूप से जोड़ा जाएगा और एजेंट आधारित निगरानी द्वारा निगरानी की जाएगी।
ClusterControl डैशबोर्ड
यहां आप PostgreSQL क्लस्टर अवलोकन और सिस्टम सूचना स्क्रीन में जानकारी देख सकते हैं। इस फ़ंक्शन में आप विस्तृत जानकारी जैसे डीबी संस्करण, लेनदेन आईडी, अंतिम चेकपॉइंट और सर्वर के जीवित रहने की तिथि और समय देख सकते हैं। यह जानकारी नीचे दी गई है:
सिस्टम सूचना पृष्ठ में, हम लोड औसत जैसी जानकारी प्राप्त कर सकते हैं, मेमोरी यूसेज, स्वैप यूसेज, नीचे दी गई तस्वीर देखें:
- डेटाबेस :आप डीबी नाम, डीबी आकार, टेबल की संख्या, इंडेक्स और टेबलस्पेस जैसी जानकारी प्राप्त कर सकते हैं।
- प्रश्न :आप प्रश्नों से कॉल, डिस्क राइट, डिस्क रीड, बफर हिट की निगरानी कर सकते हैं। साथ ही, आप किसी विशिष्ट समयावधि में चलने वाली किसी भी क्वेरी को खोज सकते हैं।
- बैकएंड :आप डेटाबेस बैकएंड की वर्तमान स्थिति की निगरानी कर सकते हैं, इस जानकारी के भीतर, महत्वपूर्ण विवरण प्रदान किए जाते हैं, जैसे बैकएंड ताले की प्रतीक्षा कर रहे हैं, अन्य प्रतीक्षा बैकएंड, लेनदेन बहुत लंबा खुला है, लेनदेन में बैकएंड निष्क्रिय है। आप डेटाबेस में चलने वाले सभी बैकएंड भी देख सकते हैं।
- ताला करता है :आप कुल ताले, स्वीकृत नहीं किए गए ताले और अवरुद्ध प्रश्नों की संख्या की जांच कर सकते हैं।
- टेबलस्पेस :टेबलस्पेस से संबंधित जानकारी प्रदान करता है, अर्थात। टेबल स्पेस का आकार, डिस्क और इनोड का उपयोग।
- प्रतिकृति :आप PostgreSQL डेटाबेस में अपनी प्रतिकृति स्थिति की निगरानी कर सकते हैं, प्रतिकृति स्लॉट, आने वाली प्रतिकृति, आउटगोइंग प्रतिकृति, प्रतिकृति प्रकाशन और प्रतिकृति सदस्यता से शुरू कर सकते हैं।
- वाल फ़ाइलें :वाल (आगे की लॉग लिखें) से संबंधित जानकारी प्रदान करता है और आंकड़े भी देता है जैसे:वाल फाइल काउंट्स, वाल जेनरेशन रेट, वाल फाइलें हर घंटे उत्पन्न होती हैं।
- बीजी राइटर्स :चेकपॉइंट डेटाबेस, बफर लिखित और बैकग्राउंड राइटर से संबंधित मापदंडों से संबंधित जानकारी प्रदान करता है।
- वैक्यूम प्रोग्रेस :इसमें वैक्यूम से संबंधित जानकारी होती है जो डेटाबेस में चलती है, साथ ही वैक्यूम पैरामीटर भी।
- भूमिकाएं :इसमें विशेषाधिकारों सहित डेटाबेस में मौजूद भूमिकाओं से संबंधित जानकारी होती है।
- कॉन्फ़िगरेशन :डेटाबेस PostgreSQL में पैरामीटर शामिल हैं।
टूल्स के अंदर, इंडेक्स मैनेजमेंट जैसे सब-मेनू हैं जो जानकारी प्रदान करते हैं यानी। अप्रयुक्त इंडेक्स, ब्लोट इंडेक्स, और कम कैश हिट अनुपात के साथ इंडेक्स। टेबलस्पेस प्रबंधन टेबलस्पेस और इसके तहत उपलब्ध अन्य वस्तुओं से संबंधित जानकारी प्रदान करता है।
निदान, शीर्ष 10 सबसे अधिक फूली हुई तालिका, शीर्ष 10 सबसे अधिक फूला हुआ सूचकांक, निष्क्रिय प्रतिकृति स्लॉट की सूची, शीर्ष 10 सबसे लंबे समय तक चलने वाले लेनदेन, आदि के माध्यम से होने वाली संभावित समस्याओं को समझने के लिए।
ClusterControl में अलग किए गए मेनू के अंतर्गत कई मीट्रिक हैं, वे हैं अवलोकन, नोड्स, डैशबोर्ड, क्वेरी मॉनिटर और प्रदर्शन, नीचे चित्र देखें:
जब एजेंट आधारित निगरानी सक्षम होती है, इसलिए आंकड़ों से संबंधित सभी जानकारी और डेटाबेस से संबंधित अन्य जानकारी एक समय श्रृंखला डेटाबेस (प्रोमेथियस) में संग्रहीत की जाएगी। आप उस जानकारी को क्लस्टरकंट्रोल में नीचे दर्शाए अनुसार देख सकते हैं:
क्वेरी मॉनिटर में, आप शीर्ष क्वेरी, रनिंग क्वेरी, क्वेरी पा सकते हैं आउटलेयर, या क्वेरी सांख्यिकी मेनू। वे डेटाबेस की रनिंग क्वेरी, टॉप क्वेरी और आंकड़ों से संबंधित जानकारी प्रदान करते हैं। आप धीमी क्वेरी और गैर-इंडेक्सिंग क्वेरी को भी कॉन्फ़िगर कर सकते हैं।
प्रदर्शन पर, डीबी ग्रोथ जैसे उप-मेनू हैं जो डेटाबेस और तालिका आकार के आंकड़ों की जानकारी दिखा सकते हैं। स्कीमा विश्लेषक प्राथमिक कुंजी के बिना अनावश्यक सूचकांक और तालिका से संबंधित जानकारी प्रदान करता है।
पोस्टग्रेएसक्यूएल अलर्टिंग
चेतावनी के दो भाग हैं...
- चेतावनी नियम :अलर्ट नियम एक प्रमुख भूमिका निभाते हैं, आप सीमा को पैरामीटर के रूप में परिभाषित कर सकते हैं जो डीबीए को अलार्म ट्रिगर कर सकते हैं।
- तृतीय पक्ष एकीकरण :संचार और सहयोग के लिए घटना प्रबंधन मंच के लिए एक एकीकरण चैनल है जैसे:पेजरड्यूटी, ओप्सजीनी, स्लैक, या ईमेल के माध्यम से।
PgDash में डेटाबेस पैरामीटर के कई विकल्प हैं जिन्हें आप अलर्ट नियम से संबंधित सेट कर सकते हैं, सर्वर, डेटाबेस, टेबल, इंडेक्स, टेबलस्पेस और क्वेरी से शुरू होने वाली कई परतों में विभाजित हैं। आप वह जानकारी pgDash में देख सकते हैं जैसा कि नीचे दिखाया गया है...
तृतीय पक्ष एकीकरण चैनल के लिए, pgDash के पास कई चैनलों के लिए समर्थन है जैसे कि स्लैक, पेजरड्यूटी, विक्टरऑप्स, एक्समैटर्स, ई-मेल, या अपने स्वयं के वेबहुक बनाने के रूप में ताकि वे अन्य सेवाओं द्वारा उपभोग किए जा सकें।
निम्नलिखित pgDash के तृतीय पक्ष एकीकरण का स्वरूप है:
pgDash के विपरीत, ClusterControl में एक व्यापक और अधिक सामान्य ईवेंट अलर्ट विकल्प है , होस्ट, नेटवर्क, क्लस्टर और डेटाबेस से संबंधित अलर्ट के साथ ही शुरू होता है। निम्नलिखित ईवेंट विकल्पों के उदाहरण हैं जिन्हें चुना जा सकता है:
ClusterControl एक इवेंट अलर्ट में कई डेटाबेस क्लस्टर का चयन कर सकता है। ClusterControl से तृतीय पक्ष एकीकरण कई घटना प्रबंधन और संचार / सहयोग उपकरण जैसे PagerDuty, VictorOps, Telegram, OpsGenie, Slack, ServiceNow का समर्थन करता है, या अपना स्वयं का वेबहुक बना सकता है।
अलर्ट रूल्स सेक्शन में, pgDash और ClusterControl दोनों के फायदे और नुकसान हैं। पीजीडैश का लाभ यह है कि आप जो भेजा जाएगा उससे संबंधित बहुत विस्तृत डेटाबेस अलर्ट सेट कर सकते हैं, जबकि दोष यह है कि आपको प्रत्येक डेटाबेस में ये सेटिंग्स करनी होंगी (हालांकि अन्य डेटाबेस कॉन्फ़िगरेशन से आयात करने की सुविधा है।
ClusterControl में विस्तृत ईवेंट अलर्ट का अभाव है, केवल सामान्य डेटाबेस ईवेंट, लेकिन ClusterControl न केवल डेटाबेस से संबंधित अलर्ट भेज सकता है, बल्कि नोड्स, क्लस्टर, नेटवर्क आदि से ईवेंट अलर्ट भेज सकता है। इसके अलावा आप सेट कर सकते हैं कई डेटाबेस समूहों के लिए ये अलर्ट।
तृतीय पक्ष एकीकरण अनुभाग में, pgDash और ClusterControl दोनों के पास विभिन्न तृतीय पक्ष घटना प्रबंधन और संचार चैनलों के लिए समर्थन है। वास्तव में वे दोनों अपना स्वयं का वेबहुक बना सकते हैं ताकि अन्य सेवाओं (जैसे ग्राफाना) द्वारा इसका उपभोग किया जा सके।