উন্নত বিলিং সতর্কতা এবং যুক্তি সেট আপ করুন

যদিও সাধারণ বাজেট অ্যালার্ট ইমেল বিলিং আপডেট পাওয়ার একটি তুলনামূলকভাবে সহজ উপায়, এমন সময় আসতে পারে যখন আপনি আরও কাস্টমাইজড লজিক সহ আরও উন্নত অ্যালার্ট তৈরি করতে চাইতে পারেন। এখানে বিবেচনা করার মতো দুটি পদ্ধতি দেওয়া হলো:

  • আরও উন্নত ও সময়োপযোগী অ্যালার্ট তৈরি করতে Cloud Monitoring ব্যবহার করুন।

  • আপনার খরচের পরিবর্তনের প্রতিক্রিয়ায় কাস্টম আচরণ তৈরি করতে একটি বিলিং Pub/Sub নোটিফিকেশন এবং এর সাথে সম্পর্কিত ক্লাউড ফাংশন ব্যবহার করুন।

যদিও এই দুটি কৌশলের জন্যই আপনার পক্ষ থেকে আরও বেশি পরিশ্রমের প্রয়োজন, তবুও এগুলি আপনাকে ঠিক কী ধরনের সতর্কতা বার্তা পাবেন এবং সেগুলিতে কীভাবে সাড়া দেবেন তা নিয়ন্ত্রণ করার ক্ষমতা দেয়।

এই পৃষ্ঠায় এই পদ্ধতিগুলোর প্রত্যেকটির একটি সংক্ষিপ্ত বিবরণ দেওয়া হয়েছে।

Cloud Monitoring মাধ্যমে আরও উন্নত অ্যালার্ট তৈরি করুন

সাধারণ বাজেট অ্যালার্ট ইমেল আপনাকে জানিয়ে দেয় যখন আপনার মোট বিলিং একটি নির্দিষ্ট সীমায় পৌঁছে যায়। তবে, আপনার বাজেটে বড় ধরনের প্রভাব ফেলার আগেই, কোনো নির্দিষ্ট পরিষেবার খরচ অপ্রত্যাশিতভাবে বাড়ছে কি না, তা জানতেও আপনি আগ্রহী হতে পারেন। এই ধরনের আরও উন্নত ব্যবহারের জন্য, আমরা Cloud Monitoring সম্পর্কে জানার পরামর্শ দিই, যা আপনার ফায়ারবেস প্রোজেক্টের জন্য উপলব্ধ একটি Google Cloud টুল।

Cloud Monitoring বিভিন্ন ধরণের অ্যালার্টের জন্য উপযোগী:

  • আপনার প্রজেক্ট যে রিসোর্সের উপর নির্ভর করে তা যদি অনুপলব্ধ থাকে (ফায়ারবেস এবং Google Cloud পরিষেবা উভয়ের ক্ষেত্রেই, এমনকি AWS-এর মতো বাহ্যিক পরিষেবার ক্ষেত্রেও),

  • যদি Cloud Functions মতো পরিষেবাগুলি সাড়া দিতে প্রত্যাশার চেয়ে বেশি সময় নেয়

  • যদি আপনার Cloud Storage বাকেট, Realtime Database ইনস্ট্যান্স, বা Cloud Firestore ইনস্ট্যান্স অতিরিক্ত অনুরোধ প্রত্যাখ্যান করে (যা ইঙ্গিত দেয় যে আপনার Firebase Security Rules ভুল হতে পারে)।

  • আপনার কিছু Firebase প্রোডাক্ট দ্বারা ব্যবহৃত রিসোর্সের পরিমাণ যদি একটি নির্দিষ্ট সীমা অতিক্রম করে বেড়ে যায়

Alerts created through Cloud Monitoring are usually sent more quickly than simple budget alert emails, which are typically sent once per day. Alerts can take the form of SMS messages, Slack channel messages, PagerDuty notifications, webhooks, and more. These options enable you to send alerts with higher and more actionable levels of visibility.

Cloud Monitoring ব্যবহার করে

Cloud Monitoring শুরু করার জন্য, আমরা মেট্রিক্স এক্সপ্লোরার দিয়ে শুরু করার পরামর্শ দিই, যা আপনাকে আপনার Firebase/ Google Cloud প্রোজেক্টের মধ্যে কাস্টম মেট্রিক্সের গ্রাফ তৈরি করতে এবং সেগুলোর ব্যবহার দেখতে সাহায্য করে।

বিশেষভাবে, আপনি আপনার Cloud Firestore , Realtime Database , বা ক্লাউড ফাংশন ইনস্ট্যান্সের মতো রিসোর্সগুলো দেখতে পারেন। আপনি এই প্রোডাক্টগুলোর ব্যবহারের তথ্য (যেমন ডকুমেন্ট রিডের সংখ্যা, প্রেরিত বাইট, বা ফাংশন ইনভোকেশন) দেখতে পারেন, যা আপনার বিলিংকে প্রভাবিত করবে।

After you're comfortable visualizing your resource usage in the Metrics Explorer, we recommend creating an alerting policy on the metrics you care about most. Here are some example alerting policies:

  • যদি ৩০ মিনিটের সময়কালে পঠিত নথির সংখ্যা একটি নির্দিষ্ট মানের চেয়ে বেশি হয়

  • যদি কোনো নির্দিষ্ট সময়সীমার মধ্যে কোনো বিশেষ রিসোর্সের (যেমন কোনো ফাংশন কল করার) ব্যবহার খুব দ্রুত বাড়তে থাকে বলে মনে হয়

অতিরিক্ত বিলিং লজিক তৈরি করুন

আপনার বাজেট নির্দিষ্ট সীমায় পৌঁছালে বাজেট অ্যালার্ট স্বয়ংক্রিয়ভাবে ইমেল পাঠায়, কিন্তু ব্যয় বৃদ্ধির ক্ষেত্রে আরও উন্নত অ্যালার্টিং বা প্রোগ্রাম্যাটিক প্রতিক্রিয়ার জন্য, আপনি Google Cloud Pub/Sub মেসেজের উপর ভিত্তি করে অতিরিক্ত কাস্টম লজিক সেট আপ করার কথা বিবেচনা করতে পারেন।

উদাহরণস্বরূপ, ব্যয়ের মাত্রার উপর নির্ভর করে আপনি স্ল্যাক চ্যানেলে বা টেক্সট মেসেজের মাধ্যমে অ্যালার্ট পাঠাতে পারেন, কিংবা আপনার অ্যাপ বা প্রজেক্টে প্রোগ্রাম্যাটিক পরিবর্তন আনতে পারেন।

Pub/Sub হলো একটি মেসেজ-আদানপ্রদান পরিষেবা যা অন্যান্য পরিষেবাগুলিকে Pub/Sub টপিক নামে পরিচিত চ্যানেলের মাধ্যমে অ্যাসিঙ্ক্রোনাস পদ্ধতিতে মেসেজ পাঠাতে দেয় — সাধারণত JSON ডেটার আকারে। আপনি এই টপিকগুলিতে মেসেজ শোনার জন্য এবং ডেটার উপর যথাযথভাবে কাজ করার জন্য Cloud Functions মতো অনুমোদিত পরিষেবাগুলি সেট আপ করতে পারেন।

মনে রাখবেন যে, আপনার বিলিং ব্যবহারের পরিমাণ পরিবর্তিত হোক বা না হোক, বিলিংয়ের জন্য Pub/Sub নোটিফিকেশন প্রায় প্রতি ২০ মিনিটে একবার পাঠানো হয় এবং এগুলি স্টেটলেস (অর্থাৎ, এগুলির আগে কী ঘটেছিল সে সম্পর্কে কোনো প্রেক্ষাপট প্রদান করে না)। আপনি যদি সময়ের সাথে সাথে খরচের অস্বাভাবিক বৃদ্ধির হিসাব রাখতে চান, অথবা আপনার খরচকে পূর্ববর্তী চক্রের সাথে তুলনা করতে চান, তাহলে আপনাকে Cloud Firestore বা Realtime Database মতো কোনো ডেটাবেস ব্যবহার করে সেই ঐতিহাসিক ডেটা নিজে থেকেই পরিচালনা করতে হবে।

Using Pub/Sub topics with Cloud Functions

আপনার বিলিং ডেটার জন্য একটি Pub/Sub টপিক সেট আপ করতে, প্রথমে Google Cloud কনসোলে আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত বাজেটে যান ( বিলিং > বাজেট এবং অ্যালার্ট-এর অধীনে), তারপর 'এই বাজেটের সাথে একটি Pub/Sub topic to this budget ) লেখা চেকবক্সটিতে ক্লিক করুন। এটি একটি Pub/Sub টপিক তৈরি করবে যা আপনি পরবর্তীতে শুনতে পারবেন। বিস্তারিত ধাপগুলোর জন্য, সম্পূর্ণ ডকুমেন্টেশন দেখুন।

আপনার Pub/Sub বিলিং টপিক তৈরি করার পরে, আপনি এই টপিকটি শোনার জন্য এবং সেই অনুযায়ী ডেটা ব্যবহার করার জন্য একটি ক্লাউড ফাংশন লিখতে পারেন। ডেটা JSON ডেটা হিসাবে পাঠানো হয় এবং এতে আপনার এখন পর্যন্ত খরচের পরিমাণ, আপনার বাজেটের পরিমাণ এবং আপনার বর্তমান বিলিং চক্রের শুরুর তারিখের মতো সহায়ক তথ্য অন্তর্ভুক্ত থাকে।

ক্লাউড ফাংশন ব্যবহার করে কীভাবে এই ডেটা গ্রহণ করতে হয়, তার সম্পূর্ণ বিবরণ Google Cloud ডকুমেন্টেশনে রয়েছে। তবে, আপনি যদি আপনার ফাংশনগুলো ডেপ্লয় করার জন্য Cloud Functions for Firebase ব্যবহার করেন, তাহলে সাধারণ প্রক্রিয়াটি কিছুটা সহজ ( ফায়ারবেস ডকুমেন্টেশন দেখে নিন)। প্রক্রিয়াটির একটি নমুনা ধাপে ধাপে দেখার জন্য আপনি এই ভিডিওটিও দেখতে পারেন।

এই ডেটা পাওয়ার পর, আপনি বিভিন্ন উপায়ে এর প্রতিক্রিয়া জানাতে পারেন। এখানে কয়েকটি বিকল্প দেওয়া হলো: