ডাটাবেস ব্যবহার মনিটর

আপনার ফায়ারবেস প্রজেক্টগুলো পরিচালনার অংশ হিসেবে, আপনি আপনার Realtime Database রিসোর্স ব্যবহার (যেমন, কতজন ব্যবহারকারী সংযুক্ত আছেন, আপনার ডেটাবেস কী পরিমাণ স্টোরেজ ব্যবহার করছে) এবং সেই ব্যবহার আপনার বিলকে কীভাবে প্রভাবিত করছে, তা পর্যালোচনা করতে চাইবেন।

আপনার Realtime Database বিলকৃত ব্যবহার পর্যালোচনা করতে, ব্যবহার ও বিলিং ড্যাশবোর্ডটি দেখুন। বিলিং সম্পর্কে আরও তথ্যের জন্য, Realtime Database বিলিং বুঝুন দেখুন।

রিসোর্স ব্যবহারের জন্য, Firebase কনসোলের Usage ট্যাব এবং Cloud Monitoring এর মাধ্যমে উপলব্ধ মেট্রিক্স উভয়ই আপনাকে Realtime Database ব্যবহার নিরীক্ষণ করতে সাহায্য করতে পারে।

ফায়ারবেস অ্যালার্ট গ্রহণ করুন

আপনার Realtime Database প্ল্যানের কোনো একটি সীমার কাছাকাছি পৌঁছালে আপনি ইমেল অ্যালার্ট পাওয়ার জন্য বেছে নিতে পারেন। ডিফল্টরূপে, আপনি যখন প্ল্যানের কোনো সীমায় পৌঁছান বা তা অতিক্রম করেন, তখন Firebase ইমেল অ্যালার্ট পাঠায়, কিন্তু আপনি আপনার প্ল্যান বা ব্যবহার সামঞ্জস্য করতে এবং পরিষেবার কোনো ব্যাঘাত এড়াতে এই আগেভাগেই নোটিফিকেশনগুলো পাওয়ার জন্য অপ্ট-ইন করতে পারেন।

এই ফায়ারবেস অ্যালার্ট এবং এর সেটিংসগুলো প্রোজেক্ট-ব্যাপী। এর মানে হলো, ডিফল্টরূপে, যখন কোনো Realtime Database অ্যালার্ট ট্রিগার হয়, তখন অ্যালার্ট পাওয়ার জন্য প্রয়োজনীয় অনুমতি থাকা প্রোজেক্টের প্রত্যেক সদস্য একটি ইমেল পাবেন। ইমেলগুলো স্বতন্ত্র ইমেল ঠিকানায় পাঠানো হয় (গুগল গ্রুপ বা গুগল ওয়ার্কস্পেস অ্যাকাউন্টের মতো কোনো অ্যাকাউন্টের সমষ্টিতে নয়)।

আপনার নিজের অ্যাকাউন্টের জন্য সতর্কতা চালু/বন্ধ করুন

আপনার নিজের অ্যাকাউন্টের জন্য, আপনি প্রকল্পের অন্য সদস্যদের প্রভাবিত না করেই Realtime Database অ্যালার্ট চালু/বন্ধ করতে পারেন। মনে রাখবেন, অ্যালার্ট পাওয়ার জন্য আপনার প্রয়োজনীয় অনুমতিগুলো এখনও প্রয়োজন।

Realtime Database অ্যালার্ট চালু বা বন্ধ করতে, এই ধাপগুলো অনুসরণ করুন:

  1. Firebase কনসোলের উপরের ডান কোণায় যান ফায়ারবেস অ্যালার্ট
  2. তারপর, যান -এ যান এবং Realtime Database অ্যালার্টের জন্য আপনার অ্যাকাউন্টের পছন্দ সেট করুন।

Firebase কনসোলে ব্যবহার নিরীক্ষণ করুন

আপনার বর্তমান Realtime Database সংযোগ এবং ডেটা ব্যবহার দেখতে, Firebase কনসোলের ইউসেজ (Usage) ট্যাবটি দেখুন। আপনি চলতি বিলিং পিরিয়ড, গত ৩০ দিন বা গত ২৪ ঘণ্টার ব্যবহার দেখতে পারেন।

ফায়ারবেস নিম্নলিখিত মেট্রিকগুলির ব্যবহারের পরিসংখ্যান দেখায়:

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

ফায়ারবেস কনসোলে রিয়েলটাইম ডেটাবেসের জন্য রুলস ট্যাব।

এছাড়াও, Firebase কনসোল একটি Firebase Security Rules ইভ্যালুয়েশন ড্যাশবোর্ড প্রদান করে, যা রুলস ইনভোকেশনের একটি দরকারি ও একনজরে দেখার মতো চিত্র দেয়। আপনি ক্লাউড মনিটরিং-এর মাধ্যমেও Firebase Security Rules ব্যবহার নিরীক্ষণ করতে পারেন। এটি একই রুল ইভ্যালুয়েশন মেট্রিক্স প্রদান করে, সাথে কাস্টম ড্যাশবোর্ড তৈরি, ট্রেন্ড বিশ্লেষণ এবং অ্যালার্ট কনফিগার করার সুবিধাও দেয় (উদাহরণস্বরূপ, যখন প্রত্যাখ্যাত অনুরোধের সংখ্যা হঠাৎ বেড়ে যায়)। উপলব্ধ মেট্রিক্সের সম্পূর্ণ তালিকার জন্য Cloud Monitoring মেট্রিক্স রেফারেন্স দেখুন।

আরও তথ্যের জন্য Cloud Monitoring এ ‘মনিটর সিকিউরিটি রুলস’ দেখুন।

ফায়ারবেস কনসোলে রিয়েলটাইম ডেটাবেসের জন্য Usage ট্যাব।

Cloud Monitoring মাধ্যমে ব্যবহার নিরীক্ষণ করুন

ব্যবহারের মেট্রিক্স

আপনার বিলকৃত ব্যবহার নিরীক্ষণ করতে Cloud Monitoring ব্যবহার করার জন্য, নিম্নলিখিত মেট্রিকগুলি ট্র্যাক করুন। উল্লেখ্য যে, সমস্ত মেট্রিক টাইপের নামের শুরুতে firebasedatabase.googleapis.com/ যুক্ত থাকে।

মেট্রিক নাম বর্ণনা
প্রেরিত পেলোড বাইট সংখ্যা

network/sent_payload_bytes_count । এই মেট্রিকটি ডাটাবেস অপারেশনের (যার মধ্যে রয়েছে গেটস, কোয়েরি, রাইটস, রিয়েলটাইম লিসেনার আপডেট এবং ব্রডকাস্ট) মাধ্যমে অনুরোধ করা ডেটার আকার নির্দেশ করে। এতে কোনো কানেকশন ওভারহেড (প্রোটোকল বা এনক্রিপশন) অন্তর্ভুক্ত নয়। `sent_payload_bytes_count` আপনার আউটগোয়িং ব্যান্ডউইথের খরচে অবদান রাখে, কিন্তু এটি মোট বিল করা খরচের হিসাব রাখে না। এটি অনুরোধের জবাবে আপনার ডাটাবেস থেকে পাঠানো ডেটার একটি আনুমানিক হিসাব, ​​কিন্তু যেহেতু এটি অনুরোধ করা ডেটার পেলোড সাইজ পরিমাপ করে, প্রকৃতপক্ষে পাঠানো ডেটা নয়, তাই এটি সবসময় নির্ভুল নাও হতে পারে।

প্রেরিত পেলোড এবং প্রোটোকল বাইটের সংখ্যা

network/sent_payload_and_protocol_bytes_count . এই মেট্রিকটি উপরে বর্ণিত পেলোড ডেটার আকার এবং সংযোগের জন্য প্রয়োজনীয় প্রোটোকল ওভারহেড (যেমন, HTTP হেডার, WebSocket ফ্রেম এবং Firebase রিয়েলটাইম প্রোটোকল ফ্রেম) উভয়কেই প্রতিফলিত করে। এটি সুরক্ষিত সংযোগে এনক্রিপশনের খরচ বিবেচনা করে না।

প্রেরিত বাইটের সংখ্যা network/sent_bytes_count . এই মেট্রিকটি আপনার ডাটাবেস থেকে রিডের মাধ্যমে পাঠানো মোট ডেটার আকারের একটি আনুমানিক হিসাব দেয়। এতে ক্লায়েন্টদের কাছে প্রকৃতপক্ষে পাঠানো পেলোড ডেটার পাশাপাশি প্রোটোকল এবং এনক্রিপশনের অতিরিক্ত খরচও অন্তর্ভুক্ত থাকে, যার ফলে সংযোগ খরচ হয়। এটি আপনার Realtime Database বিলে মোট বহির্গামী ব্যান্ডউইথকে সবচেয়ে নির্ভুলভাবে প্রতিফলিত করে।
মোট বাইট

storage/total_bytes । আপনার ডাটাবেসে আপনি কী পরিমাণ ডেটা সংরক্ষণ করছেন তা নিরীক্ষণ করতে এই মেট্রিকটি ব্যবহার করুন। Realtime Database আপনার সংরক্ষিত ডেটা আপনার বিলিং খরচে অবদান রাখে।

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

  • বহির্গামী ডেটা: আপনার বিলে অপ্রত্যাশিত খরচের কারণ হতে পারে এমন প্রোটোকল বা এনক্রিপশন ওভারহেডের সম্ভাব্য সমস্যাগুলো চিহ্নিত করতে network/sent_bytes_count , network/sent_payload_and_protocol_bytes_count , এবং network/sent_payload_bytes_count মেট্রিকগুলো ব্যবহার করুন। অনুরোধ করা ডেটা পেলোডের আকার এবং কানেকশন ওভারহেড নির্দেশকারী অন্যান্য মেট্রিকগুলোর মধ্যে যদি আপনি একটি বড় অমিল দেখতে পান, তাহলে টাইমআউট বা ঘন ঘন কানেকশনের কারণ হতে পারে এমন সমস্যাগুলো সমাধান করার চেষ্টা করতে পারেন। আপনি যদি TLS সেশন টিকিট ব্যবহার না করেন, তাহলে পুনরায় চালু হওয়া কানেকশনের জন্য SSL কানেকশন ওভারহেড কমাতে সেগুলো প্রয়োগ করার চেষ্টা করতে পারেন।
  • অপারেশন: আপনার মোট ডাটাবেস লোডের কতটুকু প্রতিটি অপারেশন টাইপ দ্বারা ব্যবহৃত হচ্ছে তা দেখতে io/database_load মেট্রিকটি ব্যবহার করুন। বিভিন্ন অপারেশন টাইপের সমস্যা সমাধানের জন্য io/database_load টাইপ অনুযায়ী গ্রুপ করতে ভুলবেন না।
  • স্টোরেজ: Realtime Database স্টোরেজ সীমার সাপেক্ষে আপনার স্টোরেজ ব্যবহার নিরীক্ষণ করতে storage/limit এবং storage/total_bytes ব্যবহার করুন।

Cloud Monitoring এর মাধ্যমে উপলব্ধ Realtime Database মেট্রিকগুলোর সম্পূর্ণ তালিকা দেখুন।

একটি ক্লাউড মনিটরিং ওয়ার্কস্পেস তৈরি করুন

ক্লাউড মনিটরিং-এর মাধ্যমে Realtime Database নিরীক্ষণ করতে, আপনাকে আপনার প্রোজেক্টের জন্য একটি ওয়ার্কস্পেস সেট আপ করতে হবে। একটি ওয়ার্কস্পেস এক বা একাধিক প্রোজেক্টের নিরীক্ষণ তথ্য সংগঠিত করে। ওয়ার্কস্পেস সেট আপ করার পরে, আপনি কাস্টম ড্যাশবোর্ড এবং অ্যালার্টিং পলিসি তৈরি করতে পারেন।

  1. ক্লাউড মনিটরিং পৃষ্ঠাটি খুলুন

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

  2. নতুন ওয়ার্কস্পেস বিকল্পটি নির্বাচন করুন অথবা একটি বিদ্যমান ওয়ার্কস্পেস নির্বাচন করুন।

  3. অ্যাড-এ ক্লিক করুন। আপনার ওয়ার্কস্পেস তৈরি হয়ে গেলে ক্লাউড মনিটরিং পেজটি খুলবে।

একটি ড্যাশবোর্ড তৈরি করুন এবং একটি চার্ট যোগ করুন

ক্লাউড মনিটরিং থেকে সংগৃহীত Realtime Database মেট্রিকগুলো আপনার নিজস্ব চার্ট এবং ড্যাশবোর্ডে প্রদর্শন করুন।

এগিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনার প্রজেক্টটি একটি ক্লাউড মনিটরিং ওয়ার্কস্পেসের অংশ।

  1. ক্লাউড মনিটরিং পেজে, আপনার ওয়ার্কস্পেসটি খুলুন এবং ড্যাশবোর্ড পেজে যান।

    ড্যাশবোর্ড পৃষ্ঠায় যান

  2. ক্রিয়েট ড্যাশবোর্ড-এ ক্লিক করুন এবং একটি ড্যাশবোর্ডের নাম লিখুন।

  3. উপরের ডান কোণায়, ‘Add Chart’-এ ক্লিক করুন।

  4. অ্যাড চার্ট উইন্ডোতে একটি চার্টের শিরোনাম লিখুন। মেট্রিক ট্যাবে ক্লিক করুন।

  5. 'Find resource type and metric' ফিল্ডে, 'Firebase Realtime Database' লিখুন। স্বয়ংক্রিয়ভাবে পূরণ হওয়া ড্রপডাউন থেকে, Realtime Database মেট্রিকগুলোর মধ্যে একটি নির্বাচন করুন।

  6. একই চার্টে আরও মেট্রিক যোগ করতে, 'অ্যাড মেট্রিক'- এ ক্লিক করুন এবং পূর্ববর্তী ধাপটি পুনরাবৃত্তি করুন।

  7. ঐচ্ছিকভাবে, প্রয়োজন অনুযায়ী আপনার চার্টটি সাজিয়ে নিন। উদাহরণস্বরূপ, ফিল্টার ফিল্ডে, ‘+ একটি ফিল্টার যোগ করুন’ (+ Add a filter ) -এ ক্লিক করুন। নিচে স্ক্রল করুন, তারপর যে মেট্রিকের উপর ভিত্তি করে আপনি চার্টটি ফিল্টার করতে চান, তার জন্য একটি মান বা পরিসর নির্বাচন করুন।

  8. সংরক্ষণ করুন- এ ক্লিক করুন।

ক্লাউড মনিটরিং চার্ট সম্পর্কে আরও জানতে, “চার্ট নিয়ে কাজ করা” দেখুন।

একটি সতর্কীকরণ নীতি তৈরি করুন

আপনি Realtime Database মেট্রিক্সের উপর ভিত্তি করে একটি অ্যালার্টিং পলিসি তৈরি করতে পারেন। নিচের ধাপগুলো অনুসরণ করে এমন একটি অ্যালার্টিং পলিসি তৈরি করা যায়, যা কোনো নির্দিষ্ট Realtime Database মেট্রিক্স একটি নির্দিষ্ট থ্রেশহোল্ডে পৌঁছালেই আপনাকে ইমেইল করবে।

এগিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনার প্রজেক্টটি একটি ক্লাউড মনিটরিং ওয়ার্কস্পেসের অংশ।

  1. ক্লাউড মনিটরিং পেজে, আপনার ওয়ার্কস্পেসটি খুলুন এবং অ্যালার্টিং পেজে যান।

    নতুন অ্যালার্টিং পলিসি তৈরি করার পৃষ্ঠায় যান

  2. পলিসি তৈরি করুন -এ ক্লিক করুন।

  3. আপনার সতর্কীকরণ নীতির জন্য একটি নাম লিখুন।

  4. Realtime Database মেট্রিকগুলোর যেকোনো একটির উপর ভিত্তি করে একটি অ্যালার্টিং শর্ত যোগ করুন। 'শর্ত যোগ করুন' (Add Condition) বোতামে ক্লিক করুন।

  5. একটি টার্গেট নির্বাচন করুন। 'ফাইন্ড রিসোর্স টাইপ অ্যান্ড মেট্রিক' ফিল্ডে 'রিয়েলটাইম ডেটাবেস' লিখুন। স্বয়ংক্রিয়ভাবে পূরণ হওয়া ড্রপডাউন থেকে, Realtime Database মেট্রিকগুলোর মধ্যে একটি নির্বাচন করুন।

  6. পলিসি ট্রিগার-এর অধীনে, আপনার অ্যালার্টিং শর্ত নির্ধারণ করতে ড্রপডাউন ফিল্ডগুলো ব্যবহার করুন।

  7. আপনার অ্যালার্টিং পলিসিতে একটি নোটিফিকেশন চ্যানেল যোগ করুন। নোটিফিকেশনস- এর অধীনে, অ্যাড নোটিফিকেশন চ্যানেল-এ ক্লিক করুন। ড্রপডাউন মেনু থেকে ইমেল নির্বাচন করুন।

  8. ইমেল ঠিকানা ক্ষেত্রে আপনার ইমেল লিখুন। যোগ করুন-এ ক্লিক করুন।

  9. ঐচ্ছিকভাবে, আপনার ইমেল বিজ্ঞপ্তিতে অতিরিক্ত তথ্য অন্তর্ভুক্ত করতে ডকুমেন্টেশন ফিল্ডটি পূরণ করুন।

  10. সংরক্ষণ করুন- এ ক্লিক করুন।

আপনার Realtime Database ব্যবহার নির্ধারিত সীমা অতিক্রম করলে, আপনি একটি ইমেল সতর্কতা পাবেন।

অ্যালার্টিং নীতি সম্পর্কে আরও জানতে, অ্যালার্টিং-এর ভূমিকা দেখুন।

এরপর কী?