BigQuery দিয়ে লগ বিশ্লেষণ করুন

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

BigQuery-তে রুট লগ

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

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

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

  • CreateVehicle সম্পর্কে
  • GetVehicle সম্পর্কে
  • যানবাহনের তালিকা
  • যানবাহন অনুসন্ধান করুন
  • UpdateVehicle সম্পর্কে
  • CreateTrip সম্পর্কে
  • GetTrip সম্পর্কে
  • আপডেটট্রিপ
  • তালিকাভ্রমণ

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

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-তে রাউটেড লগগুলি দেখুন

লুকার স্টুডিওর সাথে BigQuery ইন্টিগ্রেট করুন

ব্যবসায়িক বিশ্লেষণের জন্য ড্যাশবোর্ড তৈরি করতে BigQuery কে ব্যবসায়িক গোয়েন্দা সরঞ্জামের সাথে একীভূত করা যেতে পারে। 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. টাইপটি Geo->Latitude, Longitude এ সেট করুন।
  5. ডেটা ফিল্টার করার জন্য আপনি ড্যাশবোর্ডে নিয়ন্ত্রণ যোগ করতে পারেন। উদাহরণস্বরূপ, তারিখ-পরিসর ফিল্টার নির্বাচন করুন।
  6. একটি ডিফল্ট তারিখ পরিসর নির্বাচন করতে তারিখ পরিসরের বাক্সটি সম্পাদনা করুন।
  7. আপনি vehicle_id এর জন্য অতিরিক্ত ড্রপ-ডাউন তালিকা নিয়ন্ত্রণ যোগ করতে পারেন। এই নিয়ন্ত্রণগুলির সাহায্যে, আপনি গাড়ির গতিবিধি বা ট্রিপের মধ্যে গতিবিধি কল্পনা করতে পারেন।

লুকার স্টুডিওর উদাহরণ আউটপুট:

লুকার স্টুডিও উদাহরণ আউটপুট

এরপর কি?

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