अपने उद्यम निगरानी प्रणाली के हिस्से के रूप में, संगठन उच्च उपलब्धता प्राप्त करने और इसके परिणामस्वरूप आउटेज लागत को कम करने के लिए अपनी रक्षा की पहली पंक्ति के रूप में अलर्ट और सूचनाओं पर भरोसा करते हैं।
अलर्ट और नोटिफिकेशन को कभी-कभी एक दूसरे के स्थान पर उपयोग किया जाता है, उदाहरण के लिए हम कह सकते हैं कि "मुझे एक उच्च लोड सिस्टम अलर्ट प्राप्त हुआ है", और "अलर्ट" को "अधिसूचना" से बदलने से संदेश का अर्थ नहीं बदलेगा। हालांकि, प्रबंधन प्रणालियों की दुनिया में अंतर को नोट करना महत्वपूर्ण है:अलर्ट सिस्टम की परेशानी के परिणामस्वरूप उत्पन्न होने वाली घटनाएं हैं और सूचनाओं का उपयोग सिस्टम की स्थिति के बारे में जानकारी देने के लिए किया जाता है, जिसमें परेशानी भी शामिल है। एक उदाहरण के रूप में, ClusterControl अलर्टिंग इंटीग्रेशन का परिचय देने वाला कईनाइन ब्लॉग, ClusterControl की एकीकरण सुविधाओं में से एक पर चर्चा करता है, अधिसूचना प्रणाली जो ईमेल, चैट सेवाओं और घटना प्रबंधन प्रणालियों के माध्यम से अलर्ट देने में सक्षम है। पोस्टग्रेएसक्यूएल विकी — अलर्ट और स्टेटस नोटिफिकेशन भी देखें।
PostgreSQL डेटाबेस गतिविधि की सटीक निगरानी करने के लिए, एक प्रबंधन प्रणाली डेटाबेस गतिविधि मेट्रिक्स, कस्टम सुविधाओं या मॉनिटर सलाहकारों और लॉग फ़ाइलों की निगरानी पर निर्भर करती है।
इस लेख में मैं पोस्टग्रेएसक्यूएल विकी, मॉनिटरिंग और पोस्टग्रेएसक्यूएल जीयूआई अनुभागों में सूचीबद्ध टूल की समीक्षा करता हूं, जो सक्रिय रूप से बनाए नहीं रखा जाता है, या उत्पाद के भीतर या नि:शुल्क परीक्षण खाते के साथ अलर्ट और सूचनाएं प्रदान नहीं करते हैं। जबकि एक विस्तृत समीक्षा नहीं थी, प्रत्येक उपकरण को उस बिंदु तक स्थापित और कॉन्फ़िगर किया गया था जहां मैं इसकी चेतावनी और अधिसूचना क्षमताओं को समझ सकता था।
नागियोस
Nagios एक लोकप्रिय ऑन-प्रिमाइसेस, सामान्य प्रयोजन निगरानी प्रणाली है जो प्लगइन्स की एक विस्तृत श्रृंखला प्रदान करती है। जबकि Nagios Core खुला स्रोत है, PostgreSQL की निगरानी के लिए अनुशंसित समाधान Nagios XI है।
अधिसूचना सेटिंग्स प्रति उपयोगकर्ता हैं, और उन्हें बदलने के लिए व्यवस्थापक को उपयोगकर्ता के रूप में "लॉगिन" करना होगा - नागियोस शब्द का उपयोग करता है इस रूप में बहाना . एक बार खाता सेटिंग पृष्ठ पर, उपयोगकर्ता अधिसूचना विधियों को सक्षम या अक्षम करना चुन सकता है:

सूचनाओं के प्रकारों को कॉन्फ़िगर करने के लिए, "अधिसूचना के तरीके" पृष्ठ पर जाएं:

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

एक बार कॉन्फ़िगर करने के बाद, अलर्ट को किसी भी डिफ़ॉल्ट दृश्य, डैशबोर्ड का चयन करके देखा जा सकता है, या हम एक कस्टम को कॉन्फ़िगर कर सकते हैं। लीक से हटकर, Nagios XI निम्नलिखित PostgreSQL मॉनिटर प्रदान करता है:

ध्यान दें कि Nagios XI, PostgreSQL सांख्यिकी कलेक्टर के आधार पर कोई भी मीट्रिक प्रदान नहीं करता है, इसके बजाय प्रत्येक मीट्रिक को "Postgres Query" कॉन्फ़िगरेशन विज़ार्ड का उपयोग करके परिभाषित किया जाना चाहिए:

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

पहले कॉन्फ़िगर किए गए एकीकरण चैनलों के माध्यम से सूचनाएं प्राप्त करने के लिए, हमें कम से कम एक डेटाडॉग मॉनिटर बनाने की आवश्यकता है, PostgreSQL के "एकीकरण" मॉनिटर प्रकार की निगरानी के मामले में:

मॉनिटर को कॉन्फ़िगर करने का पहला चरण अलर्ट प्रकार का चयन करना है:

इसके बाद, एक या अधिक मीट्रिक कॉन्फ़िगर करें:

अलर्ट ट्रिगर करने के लिए शर्तें कॉन्फ़िगर करें:

टेम्प्लेट वैरिएबल का उपयोग करके नोटिफिकेशन को कस्टमाइज़ किया जा सकता है:

अंत में सूचनाएं प्राप्त करने के लिए प्राप्तकर्ताओं की एक सूची प्रदान करें:

डेटाडॉग जिन घटनाओं पर नज़र रख सकता है, वे पोस्टग्रेएसक्यूएल एकीकरण "मैट्रिक्स" अनुभाग के तहत सूचीबद्ध हैं, और पोस्टग्रेएसक्यूएल सांख्यिकी कलेक्टर पूर्वनिर्धारित विचारों पर आधारित हैं:

डिफ़ॉल्ट एकीकरण के साथ प्रदान नहीं किए गए ईवेंट की निगरानी के लिए, डेटाडॉग ग्राहकों को डेटाडॉग योजना तक सीमित कस्टम मीट्रिक बनाने का विकल्प प्रदान करता है।
Okmeter
Okmeter भी SaaS सामान्य प्रयोजन निगरानी परिवार का हिस्सा है, और अन्य SaaS टूल की तरह, मॉनिटर किए गए होस्ट पर एक एजेंट की आवश्यकता होती है। एक बार एजेंट स्थापित हो जाने पर, डिफ़ॉल्ट ईवेंट ट्रिगर का एक सेट सक्षम हो जाता है, जिसमें PostgreSQL कनेक्शन जांच शामिल है:

अधिक PostgreSQL मेट्रिक्स प्राप्त करने के लिए PostgreSQL "सर्वर" जोड़ने की आवश्यकता है:

पोस्टग्रेएसक्यूएल आँकड़ों की निगरानी के लिए, नागियोस और डेटाडॉग के समान, हमें कस्टम मेट्रिक्स को कॉन्फ़िगर करना होगा जैसा कि ओकेमीटर डॉक्यूमेंटेशन में समझाया गया है - कस्टम मेट्रिक्स भेजना। या, "okmeter.pg_stats" फ़ंक्शन में दृश्यों को शामिल करने के लिए ऊपर दिए गए "PostgreSQL सर्वर" मीट्रिक को संपादित करें।
Okmeter क्वेरी सांख्यिकी दस्तावेज़ीकरण पृष्ठ SQL कथनों के लिए निष्पादन आँकड़ों की ट्रैकिंग को सक्षम करने का तरीका बताता है। ध्यान दें कि "pg_stat_statements" विचारों का उपयोग करने में कुछ सीमाएं हैं उदा। मॉड्यूल द्वारा रिकॉर्ड किए जा सकने वाले अलग-अलग बयानों की अधिकतम संख्या — विवरण के लिए pg_stat_statements पर PostgreSQL दस्तावेज़ देखें।
सूचना संपर्क पृष्ठ वह जगह है जहां प्रत्येक उपयोगकर्ता के लिए सूचनाएं कॉन्फ़िगर की जाती हैं:

अधिसूचना संदेशों को टेम्प्लेट का उपयोग करके और अधिक अनुकूलित किया जा सकता है:

सर्कोनस
सर्कोनस, एक अन्य सास सामान्य निगरानी उत्पाद, एक पोस्टग्रेएसक्यूएल "चेक" पेश करता है जिसे व्यक्तिगत रूप से सक्षम किया जा सकता है या एक-चरण स्थापना के हिस्से के रूप में जोड़ा जा सकता है:

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

अलर्ट कॉन्फ़िगर करने के लिए, प्रत्येक मीट्रिक नियमों के एक सेट और अधिसूचित किए जाने वाले संपर्कों की सूची से संबद्ध है।

अलर्ट गंभीरता स्तरों के आधार पर वर्गीकृत किए जाते हैं:

अधिसूचना चैनलों में एसएमएस, OpsGenie, Slack, VictorOps और PagerDuty (कोई ईमेल नहीं) शामिल हैं। नीचे दिया गया स्क्रीनशॉट एक सुस्त एकीकरण दिखाता है:

सूचनाओं को कॉन्फ़िगर करने के लिए, चेक में प्रत्येक मीट्रिक को नियम और संपर्क असाइन किए जाने चाहिए। ध्यान दें कि मीट्रिक संपादित करने से पहले संपर्क बनाए जाने चाहिए:

नया अवशेष
नया अवशेष एक और सास सामान्य निगरानी प्रणाली है। जब PostgreSQL की बात आती है तो (इस लेखन के अनुसार) तीन उपलब्ध प्लगइन्स हैं। सबसे नवीनतम ब्लू मेडोरा प्लगइन है:

एक बार प्लगइन काम कर रहा है तो यह प्लगइन्स पेज पर दिखाई देने लगता है और हम अलर्ट कॉन्फ़िगर करने के लिए तैयार हैं:

न्यू रेलिक घटनाओं में समूह अलर्ट के लिए अलर्ट नीतियों की अवधारणा का उपयोग करता है। नीति को कॉन्फ़िगर करने से पहले हमें अधिसूचना चैनल सेट करना होगा। लीक से हटकर, न्यू रेलिक सभी लोकप्रिय घटना प्रतिक्रिया प्रणालियों के साथ-साथ ईमेल को भी एकीकृत करता है:

ध्यान दें कि एकीकरण पहले अधिसूचना आवेदन में सक्षम होना चाहिए। उदाहरण के लिए चैनल प्रकारों की सूची से स्लैक का चयन करना:

इसके बाद एक "अलर्ट पॉलिसी" बनाएं:

चेतावनी नीति के लिए "अलर्ट स्थिति" की आवश्यकता होती है। स्क्रीनशॉट का अगला सेट इसे हासिल करने के लिए कदम दिखाता है:



डिफ़ॉल्ट को संशोधित करने के लिए अंत में अधिसूचना चैनल टैब चुनें:

वैकल्पिक रूप से, नई अवशेष अंतर्दृष्टि में अलर्ट शर्त जोड़ें (अतिरिक्त सदस्यता की आवश्यकता है):

उद्यम प्रबंधक को पोस्टग्रेज करें
PEM या Postgres Enterprise Manager PostgreSQL के प्रबंधन, ट्यूनिंग और निगरानी के लिए एक उपकरण है।
यह पूर्वनिर्धारित मीट्रिक के बहुत समृद्ध सेट के साथ आता है:

डिफ़ॉल्ट अलर्ट संशोधित करने, या कस्टम अलर्ट बनाने के लिए, अलर्ट टेम्प्लेट का उपयोग करें:

PEM सूचनाओं के लिए ईमेल और SNMP पर निर्भर करता है, इसलिए यह आसानी से Nagios जैसे निगरानी प्रणालियों के साथ एकीकृत हो सकता है, लेकिन लोकप्रिय घटना प्रबंधन प्रणालियों (PagerDuty, VictorOps, OpsGenie), या चैट सेवाओं (Slack) के साथ कोई एकीकरण नहीं है। अन्य उत्पाद।

pgwatch2
pgwatch2 एक और PostgreSQL केंद्रित निगरानी उपकरण है, जो स्वयं-होस्टेड समाधान है।
अलर्ट को परिभाषित करने के लिए, हमें पहले एक कस्टम डैशबोर्ड बनाना होगा और मीट्रिक को परिभाषित करना होगा:

इसके बाद, अलर्ट कॉन्फ़िगर करें:

एक बार कॉन्फ़िगर हो जाने पर, अलर्ट अलर्ट सूची पृष्ठ पर दिखाई देंगे:

pgwatch2 सभी लोकप्रिय सूचना प्रणालियों के साथ एकीकृत है। यहाँ एक स्लैक चैनल जोड़ने का एक उदाहरण दिया गया है:

सिस्टम में कॉन्फ़िगर किए गए अधिसूचना चैनल देखने के लिए, "अधिसूचना चैनल" पृष्ठ खोलें:

pgwatch2 सुविधा अनुभाग में दस्तावेज़ के रूप में अतिरिक्त मीट्रिक जोड़े जा सकते हैं।
ClusterControl
ClusterControl PostgreSQL, MySQL, MariaDB और MongoDB के समर्थन के साथ एक ऑन-प्रिमाइसेस डेटाबेस उन्मुख प्रबंधन प्रणाली है।
पहला चरण एक अधिसूचना एकीकरण जोड़ रहा है। उपलब्ध एकीकरण के बारे में अधिक जानकारी ClusterControl अलर्टिंग इंटीग्रेशन का परिचय पर उपलब्ध है:

इस डेमो के लिए, मैंने स्लैक को कॉन्फ़िगर किया है:

ClusterControl ईमेल के माध्यम से सूचित करने का विकल्प भी प्रदान करता है:

एक बार सूचनाएं आने के बाद, विशिष्ट मानदंडों के आधार पर अलर्ट ट्रिगर करने के लिए कस्टम सलाहकार बनाएं:

निष्कर्ष
लेख का उद्देश्य प्रत्येक उपकरण की कार्यक्षमता में गहरा गोता लगाने का नहीं था, बल्कि मैंने विशेष रूप से PostgreSQL के लिए अलर्टिंग और सूचनाओं से संबंधित महत्वपूर्ण विशेषताओं को रेखांकित करने का प्रयास किया।
सीखे गए सबक में से एक यह है कि चयन प्रक्रिया को कई कारकों को ध्यान में रखना चाहिए:
- आधार पर या सास
- एजेंट-आधारित या दूरस्थ जांच
- घटना प्रबंधन प्रणालियों और चैट सेवाओं के साथ एकीकरण
- मॉनिटर किए गए मेट्रिक, लीक से हटकर, और प्लग इन की उपलब्धता
- कस्टम मीट्रिक जोड़ने की क्षमता
- चेतावनी प्रबंधन सुविधाएं (जैसे समूह बनाना)
- यूजर इंटरफेस में जटिलता बनाम ग्रैन्युलैरिटी
- अतिरिक्त कार्यक्षमता (प्रबंधन, ट्यूनिंग, एपीआई, आदि)
साथ ही, यदि एक समाधान सभी व्यावसायिक और/या तकनीकी आवश्यकताओं को पूरा नहीं करता है, तो सेवाओं के संयोजन का उपयोग करना हमेशा संभव होता है।