BigQuery-এর মাধ্যমে লগ বিশ্লেষণ করা

BigQuery হল অ্যানালিটিক্স পারফর্ম করার জন্য একটি শক্তিশালী টুল। আপনি এটি ব্যবহার করে দীর্ঘমেয়াদী লগ স্টোর করতে এবং ডেটার উপর SQL-এর মতো কোয়েরি চালাতে পারবেন। বিশ্লেষণের জন্য BigQuery ব্যবহার করতে, আপনাকে অবশ্যই স্পষ্টভাবে আপনার লগ BigQuery-তে রুট করতে হবে, যেমনটি পরবর্তী বিভাগে বর্ণনা করা হয়েছে।

BigQuery-তে রুট লগ

  1. Logs Explorer-এ, এমন একটি ফিল্টার তৈরি করুন যা Fleet Engine লগ আলাদা করে: Fleetengine.googleapis.com/Fleet।
  2. কোয়েরি ফলাফল প্যানে, অ্যাকশন বা আরও অ্যাকশন মেনুতে ক্লিক করে সিঙ্ক তৈরি করুন বিকল্প বেছে নিন।
  3. সিঙ্কের নাম উল্লেখ করুন (যেমন, FleetEngineLogsSink)। পরবর্তী বিকল্পে ক্লিক করুন।
  4. সিঙ্ক ডেস্টিনেশন-এ, BigQuery ডেটাসেট বেছে নিন।
  5. BigQuery ডেটাসেট বেছে নিন বিকল্পে গিয়ে নতুন BigQuery ডেটাসেট তৈরি করুন বিকল্প বেছে নিন।
  6. ডেটাসেট তৈরি করুন ডায়ালগে, ডেটাসেট আইডি লিখুন।
  7. বাকি সবকিছু যেমন আছে তেমন রেখে ডেটাসেট তৈরি করুন বিকল্পে ক্লিক করুন।
  8. পার্টিশন করা টেবিল ব্যবহার করুন বিকল্পটি চেক করুন। পরবর্তী বিকল্পে ক্লিক করুন।
  9. সিঙ্কে অন্তর্ভুক্ত করার জন্য লগ বেছে নিন এবং সিঙ্ক থেকে ফিল্টার আউট করার জন্য লগ বেছে নিন বিকল্পগুলি যেমন আছে তেমনই রেখে দিন।
  10. সিঙ্ক তৈরি করুন বিকল্পে ক্লিক করুন।

আপনার লগ এখন BigQuery ডেটাসেট পপুলেট করা শুরু করবে, এতে কিছুটা সময় লাগতে পারে। এছাড়াও, সমর্থিত গন্তব্যে লগ রুট করা দেখুন।

আপনি BigQuery-তে লগ ডেটা রাউট করলে, FleetEngineLogs ডেটাসেটের অধীনে থাকা একাধিক টেবিল অটোমেটিক পূরণ হয়ে যায়, প্রতিটি লগ টাইপের জন্য একটি করে:

  • CreateVehicle
  • GetVehicle
  • ListVehicles
  • SearchVehicles
  • UpdateVehicle
  • CreateTrip
  • GetTrip
  • UpdateTrip
  • ListTrips

টেবিলের নাম নিম্নলিখিত প্যাটার্ন ব্যবহার করে:

project_id.data_set.log_name

যেমন, প্রোজেক্টের নাম test-project এবং ডেটাসেটের নাম FleetEngineLogs হলে, CreateTrip টেবিলের নাম হবে:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

BigQuery-এর জন্য কোয়েরির উদাহরণ

নিম্নলিখিত উদাহরণ কোয়েরি থেকে আপনি জানতে পারবেন যে BigQuery-তে কীভাবে বিভিন্ন লগ এন্ট্রি সার্চ করতে হয়।

ঘণ্টা অনুযায়ী গ্রুপ করা CreateTrips লগের সংখ্যা

    SELECT TIMESTAMP_TRUNC(timestamp, HOUR) as hour,
           count(*) as num_trips_created
    FROM
    `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_create_trip`
    GROUP BY hour
    ORDER by hour

প্রতি ঘণ্টায় প্রতিটি গাড়ির স্টপের সংখ্যা

    SELECT
      jsonpayload_v1_updatevehiclelog.request.vehicleid AS vehicle,
      TIMESTAMP_TRUNC(timestamp, HOUR) AS hour,
      COUNT(*) AS num_stops
    FROM
      `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update__vehicle`
    WHERE
    ARRAY_LENGTH(jsonpayload_v1_updatevehiclelog.request.vehicle.remainingvehiclejourneysegments) > 0
    AND jsonpayload_v1_updatevehiclelog.request.vehicle.remainingvehiclejourneysegments[
    OFFSET
    (0)].stop.state = 'VEHICLE_STOP_STATE_LOG_ARRIVED'
    GROUP BY
    1,
    2
    ORDER BY
    2

যেমন, এই কোয়েরি আপনাকে বলতে পারে যে গত এক ঘণ্টায়:

  • গাড়ি A ১২তম ঘণ্টায় ১০টি স্টপে এবং ১৩তম ঘণ্টায় ৮টি স্টপে থামে।
  • গাড়ি B ১১তম ঘণ্টায় ৫টি স্টপে এবং ১২তম ঘণ্টায় ৭টি স্টপে থামে।
  • গাড়ি C ১৩তম ঘণ্টায় ১২টি স্টপে এবং ১৪তম ঘণ্টায় ৯টি স্টপে থামে।

এছাড়াও, BigQuery-তে রাউট করা লগ দেখুন।

Looker Studio-এর সাথে BigQuery ইন্টিগ্রেট করুন

বিজনেস অ্যানালিটিক্সের জন্য ড্যাশবোর্ড তৈরি করতে, BigQuery-কে বিজনেস ইন্টেলিজেন্স টুলের সাথে ইন্টিগ্রেট করা যেতে পারে। Looker Studio দেখুন।

ম্যাপে ট্রিপ ও গাড়ির চলাচল দেখানোর জন্য কীভাবে Looker Studio ড্যাশবোর্ড তৈরি করতে হয় তা নিচের উদাহরণে দেখানো হয়েছে।

  1. নতুন Looker Studio ড্যাশবোর্ড চালু করুন এবং ডেটা কানেকশন হিসেবে BigQuery বেছে নিন।
  2. কাস্টম কোয়েরি বেছে নিন এবং যে ক্লাউড প্রোজেক্টে বিল করা হবে সেটি ম্যানুয়ালি লিখুন বা বেছে নিন।
  3. কোয়েরি বক্সে নিম্নলিখিত কোয়েরিগুলির মধ্যে একটি লিখুন।

চাহিদা মতো ট্রিপের উদাহরণ কোয়েরি

    SELECT
     timestamp,
     labels.vehicle_id,
    jsonpayload_v1_updatevehiclelog.response.lastlocation.location.latitude AS lat,
    jsonpayload_v1_updatevehiclelog.response.lastlocation.location.longitude AS lng
    FROM
    `ProjectId.TableName.fleetengine_googleapis_com_update_vehicle`

শিডিউল করা টাস্কের উদাহরণ কোয়েরি

    SELECT
    labels.delivery_vehicle_id,
    jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.longitude as lat, jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.latitude as lng
    FROM `ProjectID.TableName.fleetengine_googleapis_com_update_delivery_vehicle`
  1. চার্টের ধরন হিসেবে বাবল ম্যাপ বেছে নিন এবং তারপরে লোকেশন ফিল্ড বেছে নিন।
  2. ফিল্ড যোগ করুন বিকল্প বেছে নিন।
  3. ফিল্ডের নাম দিন এবং নিম্নলিখিত ফর্মুলা যোগ করুন: CONCAT(lat, ",", lng)।
  4. ধরনটি জিও->অক্ষাংশ, দ্রাঘিমাংশ হিসেবে সেট করুন।
  5. ডেটা ফিল্টার করার জন্য আপনি ড্যাশবোর্ডে কন্ট্রোল যোগ করতে পারবেন। যেমন, তারিখের রেঞ্জ ফিল্টার বেছে নিন।
  6. ডিফল্ট তারিখের ব্যাপ্তি বেছে নিতে, তারিখের ব্যাপ্তি বক্স এডিট করুন।
  7. আপনি vehicle_id-এর জন্য অতিরিক্ত ড্রপ-ডাউন তালিকা কন্ট্রোল যোগ করতে পারবেন। এইসব কন্ট্রোলের সাহায্যে, আপনি গাড়ির মুভমেন্ট বা ট্রিপের মধ্যে মুভমেন্ট দেখতে পারবেন।

Looker Studio-এর স্যাম্পেল আউটপুট:

Looker Studio-এর স্যাম্পেল আউটপুট

এর পরে কী করতে হবে

ডেটা রেকর্ড রাখা সংক্রান্ত নীতি মেনে চলতে, লগ রেকর্ড রাখার প্রক্রিয়া সীমাবদ্ধ করুন বিকল্প দেখুন।