আপনার ডেটাবেস মনিটর করার জন্য Cloud Firestore-এর জন্য Cloud Monitoring মেট্রিক কীভাবে ব্যবহার করবেন তা এই পৃষ্ঠায় বর্ণনা করা হয়েছে।
Cloud Firestore-এর জন্য Cloud Monitoring মেট্রিক
নিম্নলিখিত বিভাগগুলি Cloud Firestore-এর জন্য উপলভ্য মেট্রিক্সের ওভারভিউ প্রদান করে।
মনিটর করা রিসোর্স
Cloud Monitoring-এ মনিটর করা রিসোর্স লজিক্যাল বা ফিজিক্যাল এন্টিটি, যেমন ভার্চুয়াল মেশিন, ডেটাবেস বা অ্যাপ্লিকেশনকে বোঝায়। মনিটর করা রিসোর্সে মেট্রিকের একটি অনন্য সেট থাকে যা এক্সপ্লোর করা, ড্যাশবোর্ডের মাধ্যমে রিপোর্ট করা বা সতর্কতা তৈরি করতে ব্যবহার করা যেতে পারে। এছাড়াও, প্রতিটি রিসোর্সের রিসোর্স লেবেলের একটি সেট থাকে, যা কী-ভ্যালু পেয়ার হিসেবে রিসোর্স সম্পর্কে অতিরিক্ত তথ্য সংরক্ষণ করে। রিসোর্সের সাথে যুক্ত সব মেট্রিকের জন্য রিসোর্স লেবেল উপলভ্য।
Cloud Monitoring API ব্যবহার করে, Cloud Firestore পারফর্ম্যান্স নিম্নলিখিত রিসোর্সের মাধ্যমে মনিটর করা হয়:
| রিসোর্স | বিবরণ |
firestore.googleapis.com/Database | মনিটর করা
রিসোর্সের ধরন যা project,
location এবং database_id-এর জন্য ব্রেকডাউন প্রদান করে। |
মেট্রিক
Cloud Firestore-এর জন্য মেট্রিকের সম্পূর্ণ তালিকা দেখতে, Cloud Firestore মেট্রিক দেখুন। নিম্নলিখিত বিভাগে উপলভ্য কিছু মেট্রিকের বিবরণ দেওয়া হয়েছে।
পরিষেবা রানটাইম মেট্রিক
serviceruntime
মেট্রিক থেকে কোনও প্রোজেক্টের ট্রাফিক সম্পর্কে হাই-লেভেল ওভারভিউ পাওয়া যায়। এইসব মেট্রিক বেশিরভাগ Google Cloud API-এর জন্য
উপলভ্য। consumed_api
মনিটর করা রিসোর্সের ধরনের মধ্যে এই সাধারণ মেট্রিকগুলি থাকে। এইসব মেট্রিক প্রতি ৩০ মিনিট অন্তর স্যাম্পেল করা হয়,
যার ফলে ডেটা স্মুথ আউট হয়।
serviceruntime মেট্রিকের জন্য একটি গুরুত্বপূর্ণ রিসোর্স লেবেল হল method। এই
লেবেলটি কল করা অন্তর্নিহিত RPC পদ্ধতিকে দেখায়। আপনি যে SDK পদ্ধতি কল করেন
সেটির নাম অন্তর্নিহিত RPC পদ্ধতির নামের সাথে এক নাও হতে পারে। কারণ
হল, SDK হাই-লেভেল API অ্যাবস্ট্রাকশন প্রদান করে। তবে, আপনার অ্যাপ্লিকেশন কীভাবে Cloud Firestore-এর সাথে ইন্টার্যাক্ট করে তা বোঝার চেষ্টা করার সময়,
RPC পদ্ধতির নামের উপর ভিত্তি করে মেট্রিক বোঝা
গুরুত্বপূর্ণ।
কোনও SDK পদ্ধতির জন্য অন্তর্নিহিত RPC পদ্ধতি কী তা জানতে হলে, API ডকুমেন্টেশন দেখুন।
api/request_latencies
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 পদ্ধতি অনুযায়ী ব্যবহার আলাদা করে দেখানো যেতে পারে।api/billable_realtime_read_units: রিয়েল-টাইম আপডেট থেকে বিল করা যায় এমন রিয়েল-টাইম আপডেট ইউনিটের সংখ্যা। এটি শুধু নেটিভ মোডে Cloud Firestore-এর ক্ষেত্রে প্রযোজ্য।api/billable_write_units: বিল করার মতো রাইট ইউনিটের সংখ্যা। পরিষেবার নাম ও API পদ্ধতি অনুযায়ী ব্যবহার আলাদা করে দেখানো যেতে পারে।document/billable_managed_delete_write_units: TTL-এর মতো ম্যানেজ করা মুছে ফেলার পরিষেবা থেকে বিলযোগ্য রাইট ইউনিটের সংখ্যা।
ইনডেক্স মেট্রিক
ইনডেক্স ফ্যানআউট বুঝতে ইনডেক্স রাইট রেট document/write_ops_count মেট্রিকের সাথে
তুলনা করা যেতে পারে।
index/write_count: ইনডেক্স রাইটের সংখ্যা।
TTL মেট্রিক
Cloud Firestore মেট্রিকের জন্য TTL মেট্রিক ব্যবহার করে এনফোর্স করা TTL নীতির প্রভাব মনিটর করা হয়।
document/ttl_deletion_count: TTL পরিষেবার মাধ্যমে মুছে ফেলা ডকুমেন্টের মোট সংখ্যা।document/ttl_expiration_to_deletion_delays: TTL সহ কোনও ডকুমেন্টের মেয়াদ শেষ হওয়া এবং সেটি আসলে মুছে দেওয়ার মধ্যে অতিবাহিত সময়।
পূর্বনির্ধারিত ড্যাশবোর্ড দেখা এবং কাস্টম ড্যাশবোর্ড তৈরি করা
Cloud Firestore-এ পূর্বনির্ধারিত ড্যাশবোর্ড কাজ করে যা Cloud Monitoring মেট্রিক ব্যবহার করে। এছাড়াও, আপনি কাস্টম ড্যাশবোর্ড তৈরি করতে পারবেন।
ডেটাবেস ব্যবহারের মেট্রিক দেখুন
সময়ের সাথে সাথে ডকুমেন্ট পড়া, লেখা ও মুছে ফেলার তথ্য দেখতে Google Cloud কনসোলে ব্যবহারের ড্যাশবোর্ড খুলুন।
অ্যাক্সেস কন্ট্রোল
ব্যবহারের ড্যাশবোর্ডের জন্য monitoring.timeSeries.list আইডেন্টিটি ও অ্যাক্সেস ম্যানেজমেন্ট (IAM) সংক্রান্ত অনুমতি প্রয়োজন।
প্রোজেক্টের মালিক, এডিটর ও দর্শকের ভূমিকা এই অনুমতি দেয়। এছাড়াও, আপনি Cloud Monitoring ভূমিকা
বা কাস্টম ভূমিকার মাধ্যমে
এই অনুমতি দিতে পারবেন।
ডেটাবেস ব্যবহারের ড্যাশবোর্ড
Cloud Firestore ডেটাবেসের জন্য ব্যবহারের মেট্রিক দেখতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন।
Google Cloud কনসোলে, ডেটাবেস পৃষ্ঠায় যান।
ডেটাবেসের তালিকা থেকে প্রয়োজনীয় ডেটাবেস বেছে নিন।
নেভিগেশন মেনুতে, ব্যবহার বিকল্পে ক্লিক করুন।
ব্যবহারের ড্যাশবোর্ড ও বিলিং রিপোর্ট
কনসোলে Cloud Firestore ব্যবহারের ড্যাশবোর্ড ব্যবহারের একটি অনুমান প্রদান করে। ব্যবহারের ক্ষেত্রে স্পাইক শনাক্ত করতে এগুলি আপনাকে সাহায্য করতে পারে। তবে, ড্যাশবোর্ড থেকে বিল করা অপারেশনের সঠিক ভিউ পাওয়া যায় না। বিল করা ব্যবহার সম্ভবত বেশি। বিলিং মনিটর করতে, বিলিং মেট্রিক দেখুন।
সব ধরনের গরমিলের ক্ষেত্রে, ব্যবহারের ড্যাশবোর্ডের চেয়ে বিলিং রিপোর্টকে অগ্রাধিকার দেওয়া হয়।
ইমপোর্ট ও এক্সপোর্ট অপারেশন ব্যবহারের ড্যাশবোর্ড ও বিল করা ব্যবহারের মধ্যে পার্থক্য তৈরি করে। এইসব অপারেশনের মাধ্যমে করা রিড ও রাইট ব্যবহারের ড্যাশবোর্ডে দেখা যায় না।
ডেটাবেস পারফর্ম্যান্স মেট্রিক দেখুন
Google Cloud কনসোলের Cloud Firestore বিভাগের মনিটরিং পৃষ্ঠায় আগে থেকে নির্ধারিত মনিটরিং ড্যাশবোর্ড অন্তর্ভুক্ত থাকে, যেমন অনুরোধের লেটেন্সি (P50 এবং P99), রেসপন্স কোড এবং কোয়েরি স্ট্যাটাস (P50)। এছাড়াও, আপনি সর্বাধিক একটি কাস্টম ড্যাশবোর্ড তৈরি করতে পারবেন। কোনও ডেটাবেসের জন্য মনিটর করা পৃষ্ঠা অ্যাক্সেস করতে, এই ধাপগুলি অনুসরণ করুন:
Google Cloud কনসোলে, Cloud Firestore ডেটাবেস পৃষ্ঠা খুলুন।
তালিকা থেকে একটি ডেটাবেস বেছে নিন।
ড্যাশবোর্ড খুলতে, নেভিগেশন মেনুতে মনিটর করা বিকল্পে ক্লিক করুন।
কাস্টম Cloud Monitoring ড্যাশবোর্ড তৈরি করুন
Cloud Monitoring-এ, কাস্টম ড্যাশবোর্ড আপনাকে এমন তথ্য দেখানোর অনুমতি দেয় যা আপনার জন্য প্রাসঙ্গিক এবং তা সুশৃঙ্খলভাবে দেখায়। যেমন, আপনি প্রোডাকশন এনভায়রনমেন্টে আপনার প্রোজেক্টের জন্য পারফর্ম্যান্স মেট্রিক ও সতর্ক করার নীতি দেখানোর জন্য একটি ড্যাশবোর্ড তৈরি করতে পারেন।
কাস্টম ড্যাশবোর্ড সেট-আপ করার ব্যাপারে আরও তথ্যের জন্য, কাস্টম ড্যাশবোর্ড ম্যানেজ করুন এবং ড্যাশবোর্ড উইজেট যোগ করুন বিকল্প দেখুন।
সতর্কতা নীতি তৈরি করুন
Cloud Monitoring-এ, আপনি সতর্কতা তৈরি করতে পারেন যা মেট্রিক কন্ডিশনে পরিবর্তন হলে আপনাকে বিজ্ঞপ্তি পাঠাবে। ব্যবহারকারীদের উপর প্রভাব ফেলার আগেই সম্ভাব্য সমস্যা সম্পর্কে বিজ্ঞপ্তি পেতে আপনি এইসব সতর্কতা ব্যবহার করতে পারবেন।
অ্যালার্ট তৈরি করা সম্পর্কে আরও তথ্য পেতে, মেট্রিক-থ্রেশহোল্ড অ্যালার্ট সংক্রান্ত নীতি তৈরি করুন দেখুন।
নিম্নলিখিত উদাহরণটি বিবেচনা করুন যেখানে আমরা একটি লেটেন্সি অ্যালার্ট নীতি তৈরি করি। সতর্কতা নীতি ৫ মিনিটের রোলিং উইন্ডোতে p99 লেটেন্সি চেক করে। p99 লেটেন্সি ৫ মিনিটের জন্য ২৫০ms-এর বেশি থাকলে, অ্যালার্ট ট্রিগার করা হয়।
কনসোল
Google Cloud কনসোলে, মনিটরিং পৃষ্ঠায় যান, তারপর notifications সতর্কতা বিকল্প বেছে নিন।
নীতি তৈরি করুন বিকল্প বেছে নিন।
ব্যবহৃত API রিসোর্স থেকে অনুরোধের লেটেন্সি মেট্রিক বেছে নিন।
নেটিভ মোড ডেটাবেসে Firestore-এর জন্য
firestore.googleapis.com-এর একটি পরিষেবা ফিল্টার যোগ করুন।ট্রিগার কনফিগার করতে পরবর্তী বিকল্পে ক্লিক করুন।
শর্তের ধরন হিসেবে থ্রেশহোল্ড বেছে নিন।
থ্রেশহোল্ড শর্ত ২৫০ মিলিসেকেন্ডের থ্রেশহোল্ড ভ্যালুতে সেট করা আছে। রোলিং উইন্ডোর (৫ মিনিট) সম্পূর্ণ সময়সীমা জুড়ে p99 লেটেন্সি ভ্যালু একই থাকলে, অ্যালার্ট ট্রিগার করা হয়।
থ্রেশহোল্ড ভ্যালু ২৫০ হিসেবে সেট করুন।
বিজ্ঞপ্তি কনফিগার করতে পরবর্তী বিকল্পে ক্লিক করুন।
সতর্কতা নীতির নাম সেট করে পরবর্তী বিকল্পে ক্লিক করুন।
সতর্কতা কনফিগারেশন পর্যালোচনা করে নীতি তৈরি করুন বিকল্পে ক্লিক করুন।
মার্কেটিং কোয়ালিফায়েড লিড (MQL)
আপনি মনিটরিং কোয়েরি ল্যাঙ্গুয়েজ (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'