ক্লাউড লগিং এর মাধ্যমে আপনার সাইটের ওয়েব অনুরোধ লগগুলি দেখুন, অনুসন্ধান করুন এবং ফিল্টার করুন

আপনার প্রতিটি Hosting সাইটের ওয়েব রিকোয়েস্ট লগ দেখতে, অনুসন্ধান করতে এবং ফিল্টার করতে, আপনি আপনার ফায়ারবেস প্রজেক্টকে Cloud Logging এর সাথে লিঙ্ক করতে পারেন। এই লগগুলো ফায়ারবেস দ্বারা স্বয়ংক্রিয়ভাবে সরবরাহ করা সিডিএন (CDN) থেকে আসে, তাই আপনার সাইটের প্রতিটি রিকোয়েস্ট এবং এর সাথে সম্পর্কিত রিকোয়েস্ট ডেটা লগ করা হয়।

Cloud Logging লগ দিয়ে আপনি যা যা করতে পারেন, তার কয়েকটি এখানে দেওয়া হলো। বিস্তারিত জানতে এই পৃষ্ঠার প্রতিটি বিভাগ দেখুন।

আপনার প্রোজেক্টে একাধিক Hosting সাইট থাকলে, আপনি বেছে নিতে পারেন কোন কোন Hosting সাইট থেকে লগ এক্সপোর্ট করা হবে। এরপর আপনি Hosting সাইট এবং এমনকি ডোমেইন অনুযায়ীও আপনার লগ ডেটা ফিল্টার করে দেখতে পারবেন। লগ এক্সপোর্ট করার জন্য নির্দিষ্ট Hosting সাইট নির্বাচন করার মাধ্যমে, আপনি আপনার প্রোজেক্টের জন্য প্রক্রিয়াকৃত ডেটার পরিমাণও নিয়ন্ত্রণ করতে পারেন।

  1. Firebase কনসোলে Cloud Logging ইন্টিগ্রেশন কার্ডে থাকা লিঙ্কে ক্লিক করুন।

    Cloud Logging লিঙ্ক বা আনলিঙ্ক করতে, আপনার নিম্নলিখিত রোলগুলির যেকোনো একটির সাথে যুক্ত অনুমতিগুলি প্রয়োজন: প্রজেক্ট ওনার (project Owner), এডিটর (Editor) অথবা ফায়ারবেস ডেভেলপ অ্যাডমিন (Firebase Develop Admin )।

  2. আপনার Hosting সাইটগুলোর মধ্যে কোনগুলো Cloud Logging -এ লগ এক্সপোর্ট করবে, তা নির্বাচন করতে স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন।

    আপনার যদি আগে থেকেই এক বা একাধিক সক্রিয় Hosting সাইট থাকে, তাহলে লিঙ্কিং ওয়ার্কফ্লো আপনার প্রতিটি Hosting সাইটের লগের জন্য একটি আনুমানিক ডেটা ব্যবহারের স্তর প্রদর্শন করে। এই মানটি গত ৩০ দিনের তথ্যের ভিত্তিতে অনুমান করা হয়।

Cloud Logging এর সাথে সংযোগ করার পর, আপনার Hosting সাইটগুলিতে করা যেকোনো নতুন অনুরোধের লগ সাধারণত অনুরোধটি করার ৩০ মিনিটের মধ্যেই দেখা যাবে।

আপনি Cloud Logging থেকে Firebase Hosting আনলিঙ্কও করতে পারেন, যা Cloud Logging -এ ওয়েব রিকোয়েস্ট লগ এক্সপোর্ট করা বন্ধ করে দেয়।

লগ পেতে আপনার ডেটা ব্যবহারের উপর নজর রাখুন।

Cloud Logging এর সাথে সংযোগ করার পর, আপনি আপনার Hosting সাইটগুলির লগের ডেটা ব্যবহারের স্তর দেখতে পারবেন:

আপনার সাইটকে আরও ভালোভাবে বুঝুন

Google Cloud কনসোলের Logs Viewer ইন্টারফেসটি কোয়েরি এবং বিল্ট-ইন ফিল্টার ও ডেটা প্যানেল ব্যবহার করে আপনার নির্দিষ্ট লগ ও ডেটা দেখার জন্য বিভিন্ন টুল সরবরাহ করে। নিচের পরবর্তী বিভাগে কোয়েরির মাধ্যমে আপনার লগ ফিল্টার করার বিষয়ে আরও জানুন।

  • আপনার সাইটের ট্র্যাফিক সুনির্দিষ্টভাবে কোথা থেকে আসছে?
    আপনি প্রতিটি অনুরোধের তথ্য দেখতে পারেন, যার মধ্যে রয়েছে সোর্স আইপি, রেফারার, শহর এবং স্ট্যাটাস।

  • ব্যবহারকারীরা কখন আপনার সাইট ভিজিট করেন?
    আপনি হিস্টোগ্রাম প্যানেল ব্যবহার করে নির্দিষ্ট সময়সীমা অনুযায়ী বিন্যাস দেখতে পারেন। এর মাধ্যমে আপনি আপনার অ্যাপ ব্যবহারের স্বাভাবিক উত্থান-পতন সম্পর্কে ধারণা পেতে পারেন, পাশাপাশি ট্র্যাফিকের যেকোনো অপ্রত্যাশিত বৃদ্ধিও শনাক্ত করতে পারেন।

  • এন্ড-ইউজারদের অনুরোধগুলোর স্ট্যাটাস বন্টন কেমন?
    আপনি প্রতিটি অনুরোধের অবস্থা দেখতে পারেন এবং এমনকি ত্রুটিযুক্ত অনুরোধগুলো নির্ণয়ও করতে পারেন। আপনি আপনার লগগুলোকে Critical , Error বা Warning অনুযায়ী ফিল্টার করতে পারেন।

  • আপনার সাইট কোনো অনুরোধের উত্তর দিতে কতক্ষণ সময় নেয়?
    প্রতিটি লগে সংরক্ষিত latency মান ব্যবহার করে আপনি প্রতিটি অনুরোধের জন্য আপনার সাইটের ল্যাটেন্সি দেখতে পারেন।

  • আপনার সাইট কি কন্টেন্ট ক্যাশিং ব্যবহার করছে?
    প্রতিটি লগে একটি cacheHit ফিল্ড থাকে, যা আপনাকে জানায় যে আপনার সাইটের রিসোর্সটি Hosting -এর CDN ক্যাশ থেকে দ্রুত পরিবেশিত হয়েছে, নাকি এটিকে Hosting ব্যাকএন্ড পর্যন্ত সম্পূর্ণ পথ পাড়ি দিতে হয়েছে। এটি আপনাকে Firebase-এর গ্লোবাল CDN-এর সর্বোত্তম ব্যবহার করে আপনার ওয়েবসাইটের পারফরম্যান্স উন্নত করতে সাহায্য করতে পারে। উদাহরণস্বরূপ, আপনি এই ডেটা ব্যবহার করে আপনার স্ট্যাটিক অ্যাসেট এবং ডাইনামিক কন্টেন্টের ক্যাশিং পদ্ধতিকে সূক্ষ্মভাবে সমন্বয় করতে পারেন।

  • আপনার বিভিন্ন ডোমেইনে ট্র্যাফিকের বণ্টন কেমন?
    আপনার একাধিক ডোমেইন বা Hosting সাইট থাকলে, আপনি ডোমেইন বা সাইট অনুযায়ী আপনার লগ ফিল্টার করতে পারেন। এর মাধ্যমে আপনি দেখতে পারবেন আপনার ট্র্যাফিক কীভাবে বণ্টিত হচ্ছে। ডোমেইন অনুযায়ী ফিল্টার করলে, আপনি ট্র্যাক করতে পারবেন কোন ডোমেইনটি সবচেয়ে বেশি ভিজিট করা হয়।

কোয়েরি ব্যবহার করে আপনার লগ ফিল্টার করুন

কোয়েরি ব্যবহার করে কীভাবে আপনার লগ ফিল্টার করবেন সে সম্পর্কে জানতে, ‘লগস ভিউয়ার ব্যবহার করে নমুনা কোয়েরি’ এবং ‘লগ কোয়েরি তৈরি করা’ দেখুন। নিচের সারণিতে সেই কোয়েরিগুলোর জন্য উপলব্ধ ফিল্ডগুলো বর্ণনা করা হয়েছে।

Hosting জন্য, একটি কোয়েরির প্রাথমিক ফিল্টারগুলো নিচে দেওয়া হলো:

  • রিসোর্স ( resource.type ) — firebase_domain ( Firebase Hosting সাইট ডোমেইন)
  • লগ নাম ( logName ) — webrequests ( Firebase Hosting )

প্রতিটি লগ এন্ট্রির একটি পূর্বনির্ধারিত কাঠামো এবং কোয়েরিযোগ্য ফিল্ড থাকে ( লগএন্ট্রি দেখুন)। Hosting ক্ষেত্রে, কিছু ফিল্ড একটি HTTP অনুরোধের জন্য প্রমিত, কিন্তু অন্যান্য ফিল্ডের মানগুলো আসে সেই প্রক্রিয়াকরণ থেকে যা Hosting প্রতিটি অনুরোধের উপর চালায়।

মাঠ বর্ণনা
Firebase Hosting লগ এন্ট্রির httpRequest অবজেক্টে নিম্নলিখিত ফিল্ডগুলো সংরক্ষণ করে।
এই ফিল্ডগুলো HTTP স্পেসিফিকেশনে সংজ্ঞায়িত করা আছে।
cacheHit Hosting সিডিএন-এর ক্যাশে রেসপন্সটির রিসোর্সটি ছিল কি না
latency অনুরোধের সময়কাল, সেকেন্ডে এবং শেষে s যুক্ত (উদাহরণস্বরূপ, 1.256s )
protocol অনুরোধের জন্য ব্যবহৃত প্রোটোকল (উদাহরণস্বরূপ, HTTP/1.1 , HTTP/2 , websocket )
referer পূর্ববর্তী ওয়েব পৃষ্ঠার ঠিকানা, যেখান থেকে বর্তমানে অনুরোধ করা পৃষ্ঠার লিঙ্কটি অনুসরণ করা হয়েছিল (যদি থাকে)।
remoteIp অনুরোধের উৎস ক্লায়েন্ট আইপি
requestMethod অনুরোধের পদ্ধতি ( GET , POST , PUT , ইত্যাদি)
requestSize অনুরোধের আকার (বাইটে)
requestUrl অনুরোধটির সম্পূর্ণ URL (উদাহরণস্বরূপ,
https://foo.web.app/bar অথবা https://custom.domain.com?query=param )
responseSize HTTP প্রতিক্রিয়ার আকার বাইটে
serverIp জনবসতিহীন
status HTTP প্রতিক্রিয়ার স্থিতি (উদাহরণস্বরূপ, 200 বা 404 )
userAgent অনুরোধের ইউজার-এজেন্ট হেডার
Firebase Hosting লগ এন্ট্রির jsonPayload অবজেক্টে অতিরিক্ত ফিল্ড সংরক্ষণ করে।
acceptEncoding (HTTP অনুরোধ থেকে) ক্লায়েন্ট কোন কন্টেন্ট এনকোডিং সমর্থন করে, যা সাধারণত একটি কম্প্রেশন অ্যালগরিদম (উদাহরণস্বরূপ, gzip বা compress )।
billable আপনার প্রকল্পের জন্য অনুরোধটির বিল করা হয়েছিল কি না
customDomain অনুরোধটি একটি কাস্টম ডোমেনের বিপরীতে করা হয়েছিল কিনা
hostname যে হোস্টনেমের বিপরীতে অনুরোধটি করা হয়েছিল
remoteIpCountry অনুরোধের উৎস দেশ
remoteIpCity অনুরোধের উৎস শহর

লগ-ভিত্তিক মেট্রিক্স ব্যবহার করুন

আপনি লগ-ভিত্তিক মেট্রিক দেখতে ও তৈরি করতে পারেন, এবং তারপর Cloud Monitoring এ এই মেট্রিকগুলো ব্যবহার করে চার্ট ও অ্যালার্টিং পলিসি তৈরি করতে পারেন।

  • স্বয়ংক্রিয়ভাবে রেকর্ড করা পূর্বনির্ধারিত সিস্টেম মেট্রিকগুলো ব্যবহার করুন, যেমন একটি নির্দিষ্ট সময়কালের মধ্যে সংঘটিত লগিং ইভেন্টের সংখ্যা।

  • আপনার প্রোজেক্টের জন্য ব্যবহারকারী-নির্ধারিত মেট্রিক তৈরি করুন। আপনি একটি নির্দিষ্ট কোয়েরির সাথে মিলে যাওয়া লগ এন্ট্রির সংখ্যা গণনা করতে পারেন অথবা মিলে যাওয়া লগ এন্ট্রিগুলোর সাথে নির্দিষ্ট মানগুলোর হিসাব রাখতে পারেন। আপনি রেগুলার এক্সপ্রেশন ব্যবহার করে ফিল্টার করতে পারেন।

  • নির্দিষ্ট বার্তা ধারণকারী লগ এন্ট্রির সংখ্যা রেকর্ড করতে অথবা লগ এন্ট্রিতে রিপোর্ট করা লেটেন্সি তথ্য বের করতে Cloud Monitoring ব্যবহার করুন। এরপর আপনি এই মেট্রিকগুলো চার্ট এবং অ্যালার্টিং পলিসিতে ব্যবহার করতে পারবেন।

Firebase Hosting নিম্নলিখিত Hosting -নির্দিষ্ট লগিং মেট্রিকগুলোও তৈরি করে। এই মেট্রিকগুলো কোনো একটি লগ এন্ট্রির জন্য নির্দিষ্ট নয়, বরং সম্পূর্ণ নির্দিষ্ট Hosting সাইটটির জন্য প্রযোজ্য।

  • log_bytes : প্রতিটি সাইটের জন্য মোট ডেটা ব্যবহারের পরিমাণ

  • response_count : সাইটটির জন্য লেখা মোট উত্তরের সংখ্যা

    এই মেট্রিকটিতে HTTP স্ট্যাটাস ফিল্ডটি অন্তর্ভুক্ত রয়েছে, ফলে আপনি স্ট্যাটাস অনুযায়ী HTTP রেসপন্সগুলোর প্লট তৈরি করতে পারেন (উদাহরণস্বরূপ)।

অন্যান্য Google Cloud টুলগুলিতে লগ রপ্তানি করুন

এছাড়াও আপনি আপনার সাইটের লগগুলি অন্যান্য Google Cloud টুলগুলিতে, যেমন Cloud Monitoring বা বিগকোয়েরি-তে এক্সপোর্ট করতে পারেন।

  • Cloud Monitoring ব্যবহার করে, আপনি লগ-ভিত্তিক মেট্রিক তৈরি করতে পারেন যা চার্ট এবং অ্যালার্টিং পলিসিতে ব্যবহার করা যায়।

  • BigQuery ব্যবহার করে আপনি নিম্নলিখিত যেকোনো কাজ করতে পারেন:

    • আপনার Hosting ডেটার ড্যাশবোর্ড তৈরি করতে Looker Studio ব্যবহার করুন।
    • আপনার অনুরোধগুলো সম্পর্কে আরও বিস্তারিত জানতে কোয়েরি চালান (যেমন: গড় প্রতিক্রিয়ার আকার, ক্যাশে হিট বনাম মিস, ইত্যাদি)।
    • আপনার ব্যবহারকারীরা আসলে কোন URL-গুলো অনুরোধ করে তা জানুন।
    • আপনার Hosting ডেটাকে BigQuery-তে এক্সপোর্ট করা অন্যান্য Firebase ডেটার সাথে একত্রিত করুন এবং নতুন উপায়ে কোয়েরি করুন।