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