बजट से जुड़े सामान्य ईमेल अलर्ट पाना, बिलिंग से जुड़े अपडेट पाने का आसान तरीका है. हालांकि, ऐसा हो सकता है कि आपको ज़्यादा बेहतर अलर्ट बनाने हों, जिनमें आपकी ज़रूरत के हिसाब से लॉजिक शामिल हो. यहां दो तरीके दिए गए हैं:
ज़्यादा बेहतर और समय पर सूचनाएं पाने के लिए, 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 का इस्तेमाल शुरू करने के लिए, हम आपको Metrics Explorer से शुरुआत करने का सुझाव देते हैं. इससे आपको अपने Firebase/Google Cloud प्रोजेक्ट में कस्टम मेट्रिक के ग्राफ़ बनाने और उनके इस्तेमाल को विज़ुअलाइज़ करने की सुविधा मिलती है.
खास तौर पर, Cloud Firestore, Realtime Database या Cloud Functions इंस्टेंस जैसे संसाधनों को देखा जा सकता है. इन प्रॉडक्ट के इस्तेमाल की जानकारी देखी जा सकती है. जैसे, दस्तावेज़ पढ़ने की संख्या, भेजे गए बाइट या फ़ंक्शन कॉल करने की संख्या. इससे आपकी बिलिंग पर असर पड़ेगा.
Metrics Explorer में संसाधन के इस्तेमाल को विज़ुअलाइज़ करने के बाद, हमारा सुझाव है कि आप उन मेट्रिक के लिए सूचना देने की नीति बनाएं जो आपके लिए सबसे ज़्यादा मायने रखती हैं. सूचना देने से जुड़ी नीतियों के कुछ उदाहरण यहां दिए गए हैं:
अगर 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 चैनलों या टेक्स्ट मैसेज पर सूचनाएं भेजें. ऐसा तब होगा, जब आपका खर्च तय की गई सीमा तक पहुंच जाएगा.
यह सुविधा, आपके खर्च की तुलना पुराने डेटा से करती है. साथ ही, अगर कोई असामान्य गतिविधि दिखती है, तो आपको सूचना देती है.
अपने खाते से बिलिंग सेवा को प्रोग्राम के हिसाब से हटाकर, अपने Firebase प्रोजेक्ट को पूरी तरह से बंद करें.