बजट अलर्ट के ईमेल, बिलिंग से जुड़े अपडेट पाने का आसान तरीका है. हालांकि, कई बार आपको ज़्यादा बेहतर अलर्ट बनाने की ज़रूरत पड़ सकती है. इनमें, पसंद के मुताबिक लॉजिक शामिल किया जा सकता है. यहां दो तरीके दिए गए हैं:
ज़्यादा बेहतर और समय पर मिलने वाले अलर्ट बनाने के लिए, Cloud Monitoring का इस्तेमाल करना
खर्च में होने वाले बदलावों के हिसाब से, पसंद के मुताबिक व्यवहार बनाने के लिए, बिलिंग Pub/Sub सूचना के साथ-साथ, उससे जुड़ी Cloud Function का इस्तेमाल करना
इन दोनों तरीकों के लिए, आपको ज़्यादा काम करना होगा. हालांकि, इनसे आपको यह तय करने में मदद मिलती है कि आपको किस तरह के अलर्ट मिलें और उन पर कैसे कार्रवाई की जाए.
इस पेज पर, इन दोनों तरीकों की खास जानकारी दी गई है.
Cloud Monitoring की मदद से, ज़्यादा बेहतर अलर्ट बनाना
बजट अलर्ट के ईमेल से, आपको यह पता चलता है कि आपकी कुल बिलिंग, तय थ्रेशोल्ड तक पहुंच गई है. हालांकि, आपको यह भी जानना पड़ सकता है कि अलग-अलग सेवाओं का खर्च, उम्मीद से ज़्यादा बढ़ रहा है या नहीं. ऐसा तब हो सकता है, जब आपके बजट पर इसका काफ़ी असर पड़ने वाला हो. इस तरह के ज़्यादा बेहतर इस्तेमाल के मामलों के लिए, हमारा सुझाव है कि Cloud Monitoring के बारे में जानें. यह Google Cloud टूल आपके Firebase प्रोजेक्ट के लिए उपलब्ध है.
Cloud Monitoring कई तरह के अलर्ट के लिए काम का है:
अगर आपका प्रोजेक्ट जिस संसाधन पर निर्भर है वह उपलब्ध नहीं है. यह समस्या, Firebase और Google Cloud सेवाओं के साथ-साथ, AWS जैसी बाहरी सेवाओं के लिए भी हो सकती है
अगर Cloud Functions जैसी सेवाओं को जवाब देने में, उम्मीद से ज़्यादा समय लग रहा है
अगर आपका Cloud Storage बकेट, Realtime Database इंस्टेंस या Cloud Firestore इंस्टेंस, बहुत ज़्यादा अनुरोध अस्वीकार कर रहा है. इससे पता चलता है कि Firebase Security Rules गलत हो सकते हैं.
अगर आपके कुछ Firebase प्रॉडक्ट के इस्तेमाल किए गए संसाधनों की संख्या, तय थ्रेशोल्ड से ज़्यादा हो गई है
Cloud Monitoring की मदद से बनाए गए अलर्ट, बजट अलर्ट के ईमेल की तुलना में आम तौर पर ज़्यादा तेज़ी से भेजे जाते हैं. बजट अलर्ट के ईमेल आम तौर पर, दिन में एक बार भेजे जाते हैं. अलर्ट, एसएमएस मैसेज, Slack चैनल मैसेज, PagerDuty सूचनाएं, वेबहुक वगैरह के तौर पर भेजे जा सकते हैं. इन विकल्पों की मदद से, ज़्यादा और कार्रवाई करने लायक जानकारी वाले अलर्ट भेजे जा सकते हैं.
Cloud Monitoring का इस्तेमाल करना
Cloud Monitoring का इस्तेमाल शुरू करने के लिए, हमारा सुझाव है कि मेट्रिक्स एक्सप्लोरर से शुरुआत करें. इसकी मदद से, अपने Firebase/Google Cloud प्रोजेक्ट में, पसंद के मुताबिक मेट्रिक के ग्राफ़ बनाए जा सकते हैं और उनके इस्तेमाल को विज़ुअलाइज़ किया जा सकता है.
खास तौर पर, Cloud Firestore, Realtime Database या Cloud Function इंस्टेंस जैसे संसाधन देखे जा सकते हैं. इन प्रॉडक्ट के इस्तेमाल की जानकारी देखी जा सकती है. जैसे, दस्तावेज़ों को पढ़ने की संख्या, भेजे गए बाइट या फ़ंक्शन कॉल. इससे आपकी बिलिंग पर असर पड़ेगा.
Metrics Explorer में, संसाधन के इस्तेमाल को विज़ुअलाइज़ करने के बाद, हमारा सुझाव है कि उन मेट्रिक के लिए अलर्ट की नीति बनाएं जो आपके लिए सबसे अहम हैं. अलर्ट की नीतियों के कुछ उदाहरण यहां दिए गए हैं:
अगर 30 मिनट की समयावधि में, दस्तावेज़ों को पढ़ने की संख्या, किसी खास वैल्यू से ज़्यादा है
अगर किसी तय समयावधि में, किसी खास संसाधन (जैसे, फ़ंक्शन कॉल) का इस्तेमाल बहुत तेज़ी से बढ़ रहा है
बिलिंग का अतिरिक्त लॉजिक बनाना
जब आपका बजट, तय थ्रेशोल्ड तक पहुंच जाता है, तो बजट अलर्ट के ईमेल अपने-आप भेजे जाते हैं. हालांकि, खर्च बढ़ने पर, ज़्यादा बेहतर अलर्ट या प्रोग्राम के ज़रिए प्रतिक्रियाएं पाने के लिए, Google Cloud Pub/Sub मैसेज के आधार पर, पसंद के मुताबिक अतिरिक्त लॉजिक सेट अप किया जा सकता है.
उदाहरण के लिए, Slack चैनलों या टेक्स्ट मैसेज के ज़रिए अलर्ट भेजे जा सकते हैं. इसके अलावा, खर्च के लेवल के हिसाब से, अपने ऐप्लिकेशन या प्रोजेक्ट में प्रोग्राम के ज़रिए बदलाव किए जा सकते हैं.
Pub/Sub मैसेज पास करने की एक सेवा है. इसकी मदद से, दूसरी सेवाएं मैसेज भेज सकती हैं. आम तौर पर, ये मैसेज JSON डेटा के फ़ॉर्मैट में होते हैं. इन्हें Pub/Sub विषयों के तौर पर जाने जाने वाले चैनलों के ज़रिए, एसिंक्रोनस तरीके से भेजा जाता है. Cloud Functions जैसी अनुमति वाली सेवाओं को, इन विषयों में मौजूद मैसेज सुनने और डेटा के हिसाब से कार्रवाई करने के लिए सेट अप किया जा सकता है.Cloud Functions
ध्यान दें कि बिलिंग के लिए Pub/Sub सूचनाएं, हर 20 मिनट में एक बार भेजी जाती हैं. भले ही, बिलिंग के इस्तेमाल में कोई बदलाव हुआ हो या नहीं. ये सूचनाएं, स्टेटलेस होती हैं. इसका मतलब है कि इनमें यह जानकारी नहीं होती कि इनसे पहले क्या हुआ था. अगर आपको समय के साथ-साथ, खर्च में होने वाली असामान्य बढ़ोतरी पर नज़र रखनी है या पिछले साइकल के मुकाबले अपने खर्च की तुलना करनी है, तो आपको Cloud Firestore या Realtime Database जैसे किसी डेटाबेस का इस्तेमाल करके, उस पुराने डेटा को खुद मैनेज करना होगा.
Pub/Sub विषयों के साथ Cloud Functions का इस्तेमाल करना
बिलिंग डेटा के लिए, Pub/Sub विषय सेट अप किया जा सकता है. इसके लिए, Google Cloud कंसोल में अपने Firebase प्रोजेक्ट से जुड़े बजट पर जाएं (बिलिंग > बजट और अलर्ट). इसके बाद, इस बजट से Pub/Sub विषय जोड़ें के चेकबॉक्स पर क्लिक करें. इससे एक Pub/Sub विषय बनेगा, जिसे बाद में सुना जा सकता है. ज़्यादा जानकारी के लिए, पूरा दस्तावेज़ देखें.
Pub/Sub बिलिंग विषय बनाने के बाद, इस विषय को सुनने और डेटा के हिसाब से कार्रवाई करने के लिए, Cloud Function लिखी जा सकती है. डेटा को JSON डेटा के तौर पर भेजा जाता है. इसमें काम की जानकारी शामिल होती है. जैसे, अब तक किया गया खर्च, आपका बजट और मौजूदा बिलिंग साइकल की शुरू होने की तारीख.
Google Cloud दस्तावेज़ में, Cloud Function का इस्तेमाल करके इस डेटा को पाने के तरीके के बारे में पूरी जानकारी दी गई है. हालांकि, अगर अपने फ़ंक्शन को डिप्लॉय करने के लिए, Cloud Functions for Firebase का इस्तेमाल किया जा रहा है, तो सामान्य प्रोसेस थोड़ी आसान होती है. इसके लिए, Firebase का दस्तावेज़ देखें. प्रोसेस के सिलसिलेवार तरीके से निर्देश पाने के लिए, यह वीडियो भी देखा जा सकता है.
यह डेटा मिलने के बाद, इस पर कई अलग-अलग तरीकों से कार्रवाई की जा सकती है. यहां कुछ विकल्प दिए गए हैं:
जब आपका खर्च, किसी तय थ्रेशोल्ड तक पहुंच जाए, तो Slack चैनलों, Discord चैनलों पर अलर्ट भेजना या टेक्स्ट मैसेज भेजना.
पुराने डेटा के मुकाबले अपने खर्च का विश्लेषण करना और अगर कुछ असामान्य लगता है, तो आपको अलर्ट करना
अगर बिलिंग के लेवल बहुत ज़्यादा हो गए हैं, तो अपने ऐप्लिकेशन में बदलाव करनाRemote Config
अपने खाते से बिलिंग सेवा को प्रोग्राम के ज़रिए हटाकर , अपने Firebase प्रोजेक्ट को पूरी तरह से बंद करना