बिलिंग की बेहतर सूचनाएं और लॉजिक सेट अप करें

बजट से जुड़े सूचनाएं पाना, बिलिंग से जुड़े अपडेट पाने का आसान तरीका है. हालांकि, ऐसा हो सकता है कि आपको ज़्यादा बेहतर सूचनाएं बनानी हों, जिनमें पसंद के मुताबिक लॉजिक शामिल हो. यहां दो तरीके दिए गए हैं:

  • ज़्यादा बेहतर और समय पर सूचनाएं पाने के लिए, 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 का दस्तावेज़ देखें. इस प्रोसेस के बारे में सिलसिलेवार तरीके से जानकारी पाने के लिए, यह वीडियो भी देखा जा सकता है.

यह डेटा मिलने के बाद, आपके पास इसका जवाब देने के कई तरीके होते हैं. यहां कुछ विकल्प दिए गए हैं: