যদিও সাধারণ বাজেট সতর্কতা ইমেলগুলি বিলিং আপডেটগুলি পাওয়ার একটি অপেক্ষাকৃত সহজ উপায়, এমন সময় হতে পারে যখন আপনি আরও পরিশীলিত সতর্কতা তৈরি করতে চান যাতে আরও কাস্টমাইজড যুক্তি রয়েছে৷ এখানে বিবেচনা করার জন্য দুটি পদ্ধতি রয়েছে:
আরও পরিশীলিত এবং সময়োপযোগী সতর্কতা তৈরি করতে Cloud Monitoring ব্যবহার করুন
আপনার খরচের পরিবর্তনের প্রতিক্রিয়া হিসাবে কাস্টম আচরণ তৈরি করতে একটি সংশ্লিষ্ট ক্লাউড ফাংশনের সাথে একটি বিলিং Pub/Sub বিজ্ঞপ্তি ব্যবহার করুন
যদিও এই উভয় কৌশলগুলির জন্য আপনার পক্ষ থেকে আরও কাজ করার প্রয়োজন, তারা আপনাকে ঠিক কোন ধরণের সতর্কতাগুলি গ্রহণ করছেন এবং কীভাবে তাদের প্রতিক্রিয়া জানাবেন তা নিয়ন্ত্রণ করার ক্ষমতা দেয়৷
এই পৃষ্ঠাটি এই প্রতিটি পদ্ধতির জন্য একটি ওভারভিউ অফার করে।
Cloud Monitoring সাথে আরও পরিশীলিত সতর্কতা তৈরি করুন
আপনার সামগ্রিক বিলিং নির্দিষ্ট থ্রেশহোল্ডে পৌঁছে গেলে সাধারণ বাজেট সতর্কতা ইমেলগুলি আপনাকে জানায়৷ যাইহোক, আপনি ব্যক্তিগত পরিষেবাগুলি অপ্রত্যাশিতভাবে বৃদ্ধি পাচ্ছে কিনা তা জানতে আগ্রহী হতে পারেন -- আপনার বাজেটকে উল্লেখযোগ্যভাবে প্রভাবিত করার সুযোগ পাওয়ার আগে। এই ধরনের আরও পরিশীলিত ব্যবহারের ক্ষেত্রে, আমরা Cloud Monitoring সম্পর্কে শেখার পরামর্শ দিই, যা আপনার ফায়ারবেস প্রকল্পের জন্য উপলব্ধ একটি Google Cloud টুল।
Cloud Monitoring বিভিন্ন ধরণের সতর্কতার জন্য দরকারী:
যদি আপনার প্রকল্পের উপর নির্ভর করে এমন একটি সংস্থান অনুপলব্ধ হয় (Firebase এবং Google Cloud উভয় পরিষেবার জন্য, তবে এমনকি AWS-এর মতো বাহ্যিক পরিষেবাগুলির জন্যও)
যদি Cloud Functions মতো পরিষেবাগুলি সাড়া দিতে প্রত্যাশার চেয়ে বেশি সময় নেয়
যদি আপনার Cloud Storage বালতি, Realtime Database ইনস্ট্যান্স বা Cloud Firestore ইনস্ট্যান্স অনেকগুলি অনুরোধ প্রত্যাখ্যান করে (একটি ইঙ্গিত যে আপনার Firebase Security Rules ভুল হতে পারে)।
যদি আপনার কিছু ফায়ারবেস পণ্য দ্বারা ব্যবহৃত সম্পদের পরিমাণ একটি নির্দিষ্ট থ্রেশহোল্ডের উপরে বেড়ে যায়
Cloud Monitoring মাধ্যমে তৈরি করা সতর্কতাগুলি সাধারণত সাধারণ বাজেট সতর্কতা ইমেলের চেয়ে বেশি দ্রুত পাঠানো হয়, যা সাধারণত প্রতিদিন একবার পাঠানো হয়। সতর্কতাগুলি এসএমএস বার্তা, স্ল্যাক চ্যানেল বার্তা, পেজারডিউটি বিজ্ঞপ্তি, ওয়েবহুক এবং আরও অনেক কিছুর আকার নিতে পারে। এই বিকল্পগুলি আপনাকে দৃশ্যমানতার উচ্চতর এবং আরও কর্মযোগ্য স্তরের সাথে সতর্কতা পাঠাতে সক্ষম করে।
Cloud Monitoring ব্যবহার করে
Cloud Monitoring সাথে শুরু করার জন্য, আমরা মেট্রিক্স এক্সপ্লোরার দিয়ে শুরু করার পরামর্শ দিই, যা আপনাকে আপনার Firebase/ Google Cloud প্রকল্পের মধ্যে কাস্টম মেট্রিক্সের গ্রাফ তৈরি করতে এবং তাদের ব্যবহার কল্পনা করতে দেয়।
বিশেষত, আপনি আপনার Cloud Firestore , Realtime Database বা ক্লাউড ফাংশন উদাহরণগুলির মতো সংস্থানগুলি দেখতে পারেন৷ আপনি এই পণ্যগুলির ব্যবহারের তথ্য দেখতে পারেন (যেমন নথি পড়ার সংখ্যা, বাইট পাঠানো বা ফাংশন আহ্বান) যা আপনার বিলিংকে প্রভাবিত করবে।
মেট্রিক্স এক্সপ্লোরারে আপনার রিসোর্স ব্যবহার দেখার পর আপনি স্বাচ্ছন্দ্য বোধ করেন, আমরা আপনাকে সবচেয়ে বেশি যত্নশীল মেট্রিকগুলির উপর একটি সতর্কতা নীতি তৈরি করার পরামর্শ দিই। এখানে কিছু সতর্কতা নীতির উদাহরণ রয়েছে:
যদি 30-মিনিটের সময়ের মধ্যে পড়া নথির সংখ্যা একটি নির্দিষ্ট মানের চেয়ে বেশি হয়
যদি একটি নির্দিষ্ট সম্পদের ব্যবহার (যেমন একটি ফাংশন আহ্বান) একটি নির্দিষ্ট সময়সীমার মধ্যে খুব দ্রুত বৃদ্ধি পাচ্ছে বলে মনে হয়
অতিরিক্ত বিলিং যুক্তি তৈরি করুন
আপনার বাজেট নির্দিষ্ট থ্রেশহোল্ডে পৌঁছে গেলে বাজেট সতর্কতাগুলি স্বয়ংক্রিয়ভাবে ইমেলগুলি প্রেরণ করে, তবে ব্যয় বৃদ্ধির জন্য আরও পরিশীলিত সতর্কতা বা প্রোগ্রাম্যাটিক প্রতিক্রিয়াগুলির জন্য, আপনি Google Cloud Pub/Sub বার্তাগুলির উপর ভিত্তি করে অতিরিক্ত কাস্টম যুক্তি সেট আপ করার কথা বিবেচনা করতে পারেন৷
উদাহরণস্বরূপ, আপনি স্ল্যাক চ্যানেলে বা পাঠ্য বার্তার মাধ্যমে সতর্কতা পাঠাতে পারেন, অথবা আপনি ব্যয়ের মাত্রার উপর নির্ভর করে আপনার অ্যাপ বা প্রকল্পে প্রোগ্রাম্যাটিক পরিবর্তন করতে পারেন।
Pub/Sub হল একটি মেসেজ-পাসিং পরিষেবা যা অন্যান্য পরিষেবাগুলিকে বার্তা পাঠাতে দেয় — সাধারণত JSON ডেটা আকারে — Pub/Sub বিষয় নামে পরিচিত চ্যানেলগুলির মাধ্যমে অ্যাসিঙ্ক্রোনাস পদ্ধতিতে। আপনি Cloud Functions মতো অনুমোদিত পরিষেবাগুলি সেট আপ করতে পারেন, এই বিষয়গুলিতে বার্তাগুলি শুনতে এবং ডেটাতে যথাযথভাবে কাজ করতে৷
মনে রাখবেন যে বিলিং-এর জন্য Pub/Sub বিজ্ঞপ্তিগুলি প্রতি 20 মিনিটে একবার পাঠানো হয় আপনার বিলিং ব্যবহার পরিবর্তিত হয়েছে বা না হয়েছে, এবং সেগুলি রাষ্ট্রহীন (অর্থাৎ তারা তাদের পূর্ববর্তী কোন প্রসঙ্গ দেয় না)। আপনি যদি সময়ের সাথে অস্বাভাবিক বৃদ্ধির ট্র্যাক রাখতে চান বা আগের চক্রের সাথে আপনার ব্যয়ের তুলনা করতে চান, তাহলে আপনাকে Cloud Firestore বা Realtime Database মতো একটি ডাটাবেস ব্যবহার করে সেই ঐতিহাসিক ডেটা নিজেই পরিচালনা করতে হবে।
Cloud Functions সাথে Pub/Sub বিষয়গুলি ব্যবহার করা
আপনি Google Cloud কনসোলে ( বিলিং > বাজেট এবং সতর্কতাগুলির অধীনে) আপনার ফায়ারবেস প্রকল্পের সাথে সম্পর্কিত বাজেটে গিয়ে আপনার বিলিং ডেটার জন্য একটি Pub/Sub বিষয় সেট আপ করতে পারেন, তারপর এই বাজেটের সাথে একটি Pub/Sub বিষয় সংযুক্ত করুন এর চেকবক্সে ক্লিক করুন৷ এটি একটি Pub/Sub বিষয় তৈরি করবে যা আপনি পরে শুনতে পারবেন। বিস্তারিত পদক্ষেপের জন্য, সম্পূর্ণ ডকুমেন্টেশন পড়ুন।
আপনি আপনার Pub/Sub বিলিং বিষয় তৈরি করার পরে, আপনি এই বিষয়টি শোনার জন্য একটি ক্লাউড ফাংশন লিখতে পারেন এবং সেই অনুযায়ী ডেটাতে কাজ করতে পারেন৷ ডেটা JSON ডেটা হিসাবে পাঠানো হয় এবং এতে সহায়ক তথ্য অন্তর্ভুক্ত থাকে যেমন আপনি এখন পর্যন্ত কত টাকা খরচ করেছেন, আপনার বাজেটের পরিমাণ এবং আপনার বর্তমান বিলিং চক্রের শুরুর তারিখ।
Google Cloud ডকুমেন্টেশনে একটি ক্লাউড ফাংশন ব্যবহার করে কীভাবে এই ডেটা গ্রহণ করা যায় তার সম্পূর্ণ বিবরণ রয়েছে৷ যাইহোক, আপনি যদি আপনার ফাংশনগুলি স্থাপন করার Cloud Functions for Firebase ব্যবহার করেন, সাধারণ প্রক্রিয়াটি একটু সহজ ( Firebase ডকুমেন্টেশন দেখুন)। প্রক্রিয়াটির নমুনা ওয়াকথ্রু-এর জন্য আপনি এই ভিডিওটিও উল্লেখ করতে পারেন।
একবার আপনি এই ডেটা পেয়ে গেলে, বিভিন্ন উপায়ে আপনি এটির প্রতিক্রিয়া জানাতে পারেন৷ এখানে কিছু বিকল্প আছে:
স্ল্যাক চ্যানেল , ডিসকর্ড চ্যানেলে সতর্কতা পাঠানো বা আপনার খরচ একটি নির্দিষ্ট থ্রেশহোল্ডে পৌঁছে গেলে পাঠ্য বার্তা পাঠানো।
ঐতিহাসিক তথ্যের তুলনায় আপনার ব্যয় বিশ্লেষণ করা এবং কিছু অস্বাভাবিক মনে হলে আপনাকে সতর্ক করা
বিলিং লেভেল খুব বেশি হলে Remote Config মাধ্যমে আপনার অ্যাপে পরিবর্তন করা
আপনার অ্যাকাউন্ট থেকে আপনার বিলিং পরিষেবাকে প্রোগ্রাম্যাটিকভাবে সরিয়ে দিয়ে আপনার Firebase প্রকল্পকে সম্পূর্ণরূপে নিষ্ক্রিয় করা