ডাটাবেস মেট্রিক্স মনিটর

এই পৃষ্ঠায় বর্ণনা করা হয়েছে কীভাবে আপনার ডাটাবেস নিরীক্ষণ করার জন্য Cloud Firestore Cloud Monitoring মেট্রিক্স ব্যবহার করতে হয়।

Cloud Firestore জন্য Cloud Monitoring মেট্রিক্স

নিম্নলিখিত বিভাগগুলিতে Cloud Firestore জন্য উপলব্ধ মেট্রিকগুলির একটি সংক্ষিপ্ত বিবরণ দেওয়া হয়েছে।

পর্যবেক্ষণাধীন সম্পদ

Cloud Monitoring এ একটি মনিটর করা রিসোর্স হলো একটি লজিক্যাল বা ফিজিক্যাল সত্তা, যেমন একটি ভার্চুয়াল মেশিন, একটি ডেটাবেস বা একটি অ্যাপ্লিকেশন। মনিটর করা রিসোর্সগুলিতে এক সেট অনন্য মেট্রিক থাকে যা অন্বেষণ করা যায়, একটি ড্যাশবোর্ডের মাধ্যমে রিপোর্ট করা যায় বা অ্যালার্ট তৈরি করতে ব্যবহার করা যায়। প্রতিটি রিসোর্সের এক সেট রিসোর্স লেবেলও থাকে, যা হলো কী-ভ্যালু পেয়ার এবং রিসোর্সটি সম্পর্কে অতিরিক্ত তথ্য ধারণ করে। রিসোর্সের সাথে সম্পর্কিত সমস্ত মেট্রিকের জন্য রিসোর্স লেবেলগুলি উপলব্ধ থাকে।

Cloud Monitoring এপিআই ব্যবহার করে নিম্নলিখিত রিসোর্সের মাধ্যমে Cloud Firestore পারফরম্যান্স পর্যবেক্ষণ করা হয়:

সম্পদ বর্ণনা
firestore.googleapis.com/Database পর্যবেক্ষণাধীন রিসোর্স টাইপ যা project , location এবং database_id অনুযায়ী বিস্তারিত তথ্য প্রদান করে।

মেট্রিক্স

Cloud Firestore মেট্রিকগুলোর সম্পূর্ণ তালিকার জন্য, Cloud Firestore মেট্রিকস দেখুন। নিম্নলিখিত বিভাগে উপলব্ধ কিছু মেট্রিক বর্ণনা করা হয়েছে।

পরিষেবা রানটাইম মেট্রিক্স

serviceruntime মেট্রিক্স একটি প্রোজেক্টের ট্র্যাফিকের একটি সামগ্রিক চিত্র প্রদান করে। এই মেট্রিক্সগুলো বেশিরভাগ Google Cloud এপিআই-এর জন্য উপলব্ধ। consumed_api মনিটরড রিসোর্স টাইপটিতে এই সাধারণ মেট্রিক্সগুলো থাকে। এই মেট্রিক্সগুলো প্রতি ৩০ মিনিট অন্তর স্যাম্পল করা হয়, যার ফলে ডেটা একটি সামঞ্জস্যপূর্ণ রূপ লাভ করে।

serviceruntime মেট্রিক্সের জন্য একটি গুরুত্বপূর্ণ রিসোর্স লেবেল হলো method । এই লেবেলটি কল করা অন্তর্নিহিত RPC মেথডকে নির্দেশ করে। আপনি যে SDK মেথডটি কল করেন, তার নাম অন্তর্নিহিত RPC মেথডের নামের মতো নাও হতে পারে। এর কারণ হলো, SDK একটি উচ্চ-স্তরের API অ্যাবস্ট্রাকশন প্রদান করে। তবে, আপনার অ্যাপ্লিকেশন কীভাবে Cloud Firestore সাথে ইন্টারঅ্যাক্ট করে তা বোঝার চেষ্টা করার সময়, RPC মেথডের নামের উপর ভিত্তি করে মেট্রিক্সগুলো বোঝা গুরুত্বপূর্ণ।

কোনো নির্দিষ্ট SDK মেথডের অন্তর্নিহিত RPC মেথড কী, তা জানতে হলে API ডকুমেন্টেশন দেখুন।

এপিআই/অনুরোধ_বিলম্ব

api/request_latencies মেট্রিকটি সম্পন্ন হওয়া সমস্ত অনুরোধ জুড়ে লেটেন্সির বণ্টন প্রদান করে।

Cloud Firestore Cloud Firestore সার্ভিস কম্পোনেন্ট থেকে মেট্রিক্স রেকর্ড করে। ল্যাটেন্সি মেট্রিক্সের মধ্যে অন্তর্ভুক্ত থাকে Cloud Firestore Cloud Firestore গ্রহণ করার সময় থেকে শুরু করে প্রতিক্রিয়া পাঠানো শেষ করার সময় পর্যন্ত, যার মধ্যে স্টোরেজ লেয়ারের সাথে ইন্টারঅ্যাকশনও রয়েছে। এই কারণে, ক্লায়েন্ট এবং Cloud Firestore সার্ভিসের মধ্যে রাউন্ড-ট্রিপ ল্যাটেন্সি (rtt) এই মেট্রিক্সগুলিতে অন্তর্ভুক্ত করা হয় না।

ডকুমেন্ট অপারেশন মেট্রিক্স

Cloud Firestore রিড, রাইট এবং ডিলিট সংখ্যা প্রদান করে। রাইট মেট্রিকটি 'CREATE' এবং 'UPDATE' অপারেশনের মধ্যে একটি বিশদ বিভাজন প্রদান করে। এই মেট্রিকগুলো CRUD অপারেশনের সাথে সামঞ্জস্যপূর্ণ।

আপনার ডাটাবেসটি রিড-হেভি নাকি রাইট-হেভি, এবং নতুন ডকুমেন্টের তুলনায় মুছে ফেলা ডকুমেন্টের হার কত, তা বোঝার জন্য নিম্নলিখিত মেট্রিকগুলো ব্যবহার করা যেতে পারে।

  • document/delete_ops_count : সফলভাবে ডকুমেন্ট মুছে ফেলার সংখ্যা।
  • document/read_ops_count : কোয়েরি বা লুকআপ থেকে সফলভাবে ডকুমেন্ট পড়ার সংখ্যা।
  • document/write_ops_count : সফলভাবে ডকুমেন্ট লেখার সংখ্যা।

বিলিং মেট্রিক্স

বিলিং ব্যবহার বোঝার জন্য এই মেট্রিকগুলো ব্যবহার করুন। এই মেট্রিকগুলোতে অ্যাডমিনিস্ট্রেটর অপারেশন (ইনডেক্সিং, ইম্পোর্ট, এক্সপোর্ট এবং বাল্ক ডিলিট) থেকে হওয়া বিলিং অন্তর্ভুক্ত নয়।

  • api/billable_read_units : বিলযোগ্য রিড ইউনিটের সংখ্যা। এর ব্যবহার সার্ভিসের নাম এবং এপিআই মেথড অনুযায়ী ভাগ করা যেতে পারে।
  • api/billable_realtime_read_units : রিয়েল-টাইম আপডেট থেকে বিলযোগ্য রিয়েল-টাইম আপডেট ইউনিটের সংখ্যা। এটি শুধুমাত্র নেটিভ মোডে Cloud Firestore জন্য প্রযোজ্য
  • api/billable_write_units : বিলযোগ্য রাইট ইউনিটের সংখ্যা। এর ব্যবহার সার্ভিসের নাম এবং এপিআই মেথড অনুযায়ী ভাগ করা যেতে পারে।
  • document/billable_managed_delete_write_units : TTL- এর মতো ম্যানেজড ডিলিট পরিষেবা থেকে বিলযোগ্য রাইট ইউনিটের সংখ্যা।

সূচক মেট্রিক্স

ইনডেক্স ফ্যানআউট বোঝার জন্য ইনডেক্স রাইট রেটকে document/write_ops_count মেট্রিকের সাথে তুলনা করা যেতে পারে।

  • index/write_count : ইনডেক্সে লেখার সংখ্যা।

টিটিএল মেট্রিক্স

Cloud Firestore TTL মেট্রিকগুলো আরোপিত TTL নীতির প্রভাব নিরীক্ষণ করতে ব্যবহৃত হয়।

  • document/ttl_deletion_count : TTL পরিষেবা দ্বারা মুছে ফেলা নথির মোট সংখ্যা।
  • document/ttl_expiration_to_deletion_delays : TTL সহ একটি ডকুমেন্টের মেয়াদ শেষ হওয়ার পর থেকে সেটি প্রকৃতপক্ষে মুছে ফেলা পর্যন্ত অতিবাহিত সময়।

পূর্বনির্ধারিত ড্যাশবোর্ডগুলি দেখুন এবং নিজস্ব ড্যাশবোর্ড তৈরি করুন

Cloud Firestore পূর্বনির্ধারিত ড্যাশবোর্ড সমর্থন করে, যেগুলো Cloud Monitoring মেট্রিক্স ব্যবহার করে। আপনি নিজস্ব কাস্টম ড্যাশবোর্ডও তৈরি করতে পারেন।

ডাটাবেস ব্যবহারের মেট্রিক্স দেখুন

সময়ের সাথে সাথে ডকুমেন্টের পঠন, লিখন এবং মুছে ফেলার তথ্য দেখতে গুগল ক্লাউড কনসোলে ব্যবহারের ড্যাশবোর্ডগুলো খুলুন।

প্রবেশাধিকার নিয়ন্ত্রণ

ইউসেজ ড্যাশবোর্ডগুলির জন্য monitoring.timeSeries.list আইডেন্টিটি অ্যান্ড অ্যাক্সেস ম্যানেজমেন্ট (IAM) পারমিশন প্রয়োজন। প্রজেক্ট ওনার, এডিটর এবং ভিউয়ার রোলগুলি এই পারমিশন প্রদান করে। আপনি একটি Cloud Monitoring রোল বা একটি কাস্টম রোলের মাধ্যমেও এই পারমিশনটি প্রদান করতে পারেন।

ডাটাবেস ব্যবহারের ড্যাশবোর্ড

Cloud Firestore ডেটাবেসের ব্যবহারের মেট্রিক্স দেখতে, নিম্নলিখিতগুলি করুন।

  1. গুগল ক্লাউড কনসোলে, ডেটাবেস পৃষ্ঠায় যান।

    ডাটাবেসে যান

  2. ডাটাবেসের তালিকা থেকে প্রয়োজনীয় ডাটাবেসটি নির্বাচন করুন।

  3. নেভিগেশন মেনুতে, Usage-এ ক্লিক করুন।

ব্যবহারের ড্যাশবোর্ড এবং বিলিং রিপোর্ট

কনসোলে থাকা Cloud Firestore ব্যবহারের ড্যাশবোর্ডগুলো ব্যবহারের একটি আনুমানিক ধারণা দেয়। এগুলো আপনাকে ব্যবহারের আকস্মিক বৃদ্ধি শনাক্ত করতে সাহায্য করতে পারে। তবে, এই ড্যাশবোর্ডটি বিলকৃত লেনদেনের সঠিক চিত্র নয়। বিলকৃত প্রকৃত ব্যবহার সম্ভবত এর চেয়ে বেশি। বিলিং নিরীক্ষণ করতে, বিলিং মেট্রিক্স দেখুন।

সকল প্রকার গরমিলের ক্ষেত্রে, ইউসেজ ড্যাশবোর্ডের চেয়ে বিলিং রিপোর্ট অগ্রাধিকার পাবে।

ইম্পোর্ট এবং এক্সপোর্ট অপারেশনের কারণে ইউসেজ ড্যাশবোর্ড এবং বিলকৃত ব্যবহারের মধ্যে অমিল দেখা দেয়। এই অপারেশনগুলোর মাধ্যমে সম্পাদিত রিড এবং রাইটগুলো ইউসেজ ড্যাশবোর্ডে দেখানো হয় না।

ডাটাবেস পারফরম্যান্স মেট্রিক্স দেখুন

গুগল ক্লাউড কনসোলের Cloud Firestore বিভাগের মনিটরিং পৃষ্ঠায় পূর্বনির্ধারিত মনিটরিং ড্যাশবোর্ড রয়েছে, যেমন রিকোয়েস্ট ল্যাটেন্সি (P50 এবং P99) , রেসপন্স কোড এবং কোয়েরি স্ট্যাটস (P50) । আপনি সর্বোচ্চ একটি কাস্টম ড্যাশবোর্ডও তৈরি করতে পারেন। কোনো ডেটাবেসের মনিটরিং পৃষ্ঠা অ্যাক্সেস করতে, এই ধাপগুলো অনুসরণ করুন:

  1. গুগল ক্লাউড কনসোলে, Cloud Firestore ডেটাবেস পৃষ্ঠাটি খুলুন।

    ডাটাবেসে যান

  2. তালিকা থেকে একটি ডাটাবেস নির্বাচন করুন।

  3. নেভিগেশন মেনুতে, ড্যাশবোর্ড খুলতে মনিটরিং-এ ক্লিক করুন।

কাস্টম Cloud Monitoring ড্যাশবোর্ড তৈরি করুন

Cloud Monitoring এ, কাস্টম ড্যাশবোর্ড আপনাকে আপনার জন্য প্রাসঙ্গিক তথ্য সুসংগঠিতভাবে প্রদর্শন করার সুযোগ দেয়। উদাহরণস্বরূপ, আপনি আপনার প্রোডাকশন এনভায়রনমেন্টে থাকা প্রোজেক্টের পারফরম্যান্স মেট্রিক্স এবং অ্যালার্টিং পলিসিগুলো দেখানোর জন্য একটি ড্যাশবোর্ড তৈরি করতে পারেন।

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

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

Cloud Monitoring এ, কোনো মেট্রিকের অবস্থায় পরিবর্তন ঘটলে আপনাকে জানানোর জন্য আপনি অ্যালার্ট তৈরি করতে পারেন। আপনার ব্যবহারকারীদের প্রভাবিত করার আগেই সম্ভাব্য সমস্যা সম্পর্কে অবহিত হতে আপনি এই অ্যালার্টগুলো ব্যবহার করতে পারেন।

অ্যালার্ট তৈরি করার বিষয়ে আরও তথ্যের জন্য, “মেট্রিক-থ্রেশহোল্ড অ্যালার্টিং পলিসি তৈরি করুন” দেখুন।

নিম্নলিখিত উদাহরণটি বিবেচনা করুন যেখানে আমরা একটি ল্যাটেন্সি অ্যালার্ট পলিসি তৈরি করছি। এই অ্যালার্টিং পলিসিটি একটি ৫ মিনিটের চলমান উইন্ডোতে p99 ল্যাটেন্সি পরীক্ষা করে। যদি p99 ল্যাটেন্সি ৫ মিনিট ধরে ২৫০ms-এর বেশি থাকে, তাহলে অ্যালার্টটি ট্রিগার হয়।

কনসোল

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

    পর্যবেক্ষণে যান

  2. পলিসি তৈরি করুন নির্বাচন করুন।

  3. ব্যবহৃত এপিআই রিসোর্স থেকে অনুরোধের বিলম্ব (Request Latencies ) মেট্রিকটি নির্বাচন করুন।

  4. নেটিভ মোড ডাটাবেসে ফায়ারস্টোরের জন্য firestore.googleapis.com এর একটি সার্ভিস ফিল্টার যোগ করুন।

  5. ট্রিগারটি কনফিগার করতে নেক্সট-এ ক্লিক করুন।

  6. শর্তের প্রকার হিসেবে থ্রেশহোল্ড নির্বাচন করুন।

    একটি থ্রেশহোল্ড শর্ত ২৫০ মিলিসেকেন্ডের একটি থ্রেশহোল্ড মানে সেট করা হয়েছে। যখন p99 ল্যাটেন্সি মান রোলিং উইন্ডোর (৫ মিনিট) পুরো সময়কাল ধরে একই থাকে, তখন একটি অ্যালার্ট ট্রিগার হয়।

  7. থ্রেশহোল্ড মান ২৫০ হিসেবে সেট করুন।

  8. নোটিফিকেশন কনফিগার করতে নেক্সট-এ ক্লিক করুন।

  9. অ্যালার্ট পলিসির নাম সেট করুন এবং নেক্সট-এ ক্লিক করুন।

  10. অ্যালার্ট কনফিগারেশনগুলো পর্যালোচনা করুন এবং 'Create Policy'-তে ক্লিক করুন।

এমকিউএল

আপনি একটি মনিটরিং কোয়েরি ল্যাঙ্গুয়েজ (MQL) কোয়েরি ব্যবহার করে একই লেটেন্সি অ্যালার্ট পলিসি প্রয়োগ করতে পারেন। MQL ব্যবহারের আরও উদাহরণের জন্য, নমুনা MQL কোয়েরিগুলো দেখুন।

fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
    [value_request_latencies_percentile:
      percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'