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

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

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

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

Firebase সতর্কতা গ্রহণ করুন

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

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

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

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

Realtime Database সতর্কতা চালু বা বন্ধ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:

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

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

আপনার বর্তমান Realtime Database সংযোগ এবং ডেটা ব্যবহার দেখতে, Firebase কনসোলে "ব্যবহার" ট্যাবটি দেখুন। আপনি বর্তমান বিলিং সময়কাল, গত 30 দিন বা গত 24 ঘন্টার ব্যবহার পরীক্ষা করতে পারেন।

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

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

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

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

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

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

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

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

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

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

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

প্রেরিত পেলোড এবং প্রোটোকল বাইট গণনা

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

প্রেরিত বাইট সংখ্যা 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. Add এ ক্লিক করুন। আপনার কর্মক্ষেত্র তৈরি হওয়ার পরে, ক্লাউড মনিটরিং পৃষ্ঠাটি খোলে।

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

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

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

  1. ক্লাউড মনিটরিং পৃষ্ঠায়, আপনার কর্মক্ষেত্র খুলুন এবং ড্যাশবোর্ড পৃষ্ঠায় যান।

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

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

  3. উপরের ডানদিকের কোণায়, চার্ট যোগ করুন এ ক্লিক করুন।

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

  5. "রিসোর্স টাইপ এবং মেট্রিক খুঁজুন" ক্ষেত্রে, "ফায়ারবেস রিয়েলটাইম ডেটাবেস" লিখুন। স্বয়ংক্রিয়ভাবে পপুলেটেড ড্রপডাউন থেকে, Realtime Database মেট্রিক্সের একটি নির্বাচন করুন।

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

  7. ঐচ্ছিকভাবে, আপনার চার্টটি প্রয়োজন অনুযায়ী তৈরি করুন। উদাহরণস্বরূপ, ফিল্টার ক্ষেত্রে, + একটি ফিল্টার যোগ করুন ক্লিক করুন। নিচে স্ক্রোল করুন, তারপর আপনি যে মেট্রিকে চার্টটি ফিল্টার করতে চান তার জন্য একটি মান বা পরিসর নির্বাচন করুন।

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

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

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

আপনি Realtime Database মেট্রিক্সের উপর ভিত্তি করে একটি সতর্কতা নীতি তৈরি করতে পারেন। নীচের ধাপগুলি অনুসরণ করলে একটি সতর্কতা নীতি তৈরি করা যেতে পারে যা যখনই একটি নির্দিষ্ট Realtime Database মেট্রিক একটি নির্দিষ্ট থ্রেশহোল্ড পূরণ করে তখন আপনাকে ইমেল করে।

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

  1. ক্লাউড মনিটরিং পৃষ্ঠায়, আপনার কর্মক্ষেত্র খুলুন এবং সতর্কতা পৃষ্ঠায় যান।

    নতুন সতর্কতা নীতি তৈরি করুন পৃষ্ঠায় যান।

  2. নীতি তৈরি করুন ক্লিক করুন।

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

  4. Realtime Database মেট্রিক্সের উপর ভিত্তি করে একটি সতর্কতামূলক শর্ত যোগ করুন। শর্ত যোগ করুন ক্লিক করুন।

  5. একটি টার্গেট নির্বাচন করুন। রিসোর্স টাইপ এবং মেট্রিক খুঁজুন ক্ষেত্রে, রিয়েলটাইম ডেটাবেস লিখুন। স্বয়ংক্রিয়ভাবে জনবহুল ড্রপডাউন থেকে, Realtime Database মেট্রিক্সের একটি নির্বাচন করুন।

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

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

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

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

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

যদি আপনার Realtime Database ব্যবহার কনফিগার করা থ্রেশহোল্ড অতিক্রম করে, তাহলে আপনি একটি ইমেল সতর্কতা পাবেন।

সতর্কতা নীতি সম্পর্কে আরও জানতে, সতর্কতার ভূমিকা দেখুন।

এরপর কি?