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

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

BigQuery-তে লগগুলি পাঠান

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

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

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

  • যানবাহন তৈরি করুন
  • GetVehicle
  • যানবাহনের তালিকা
  • যানবাহন অনুসন্ধান করুন
  • যানবাহন আপডেট করুন
  • CreateTrip
  • গেটট্রিপ
  • আপডেটট্রিপ
  • লিস্টট্রিপস

টেবিলের নামগুলো নিম্নলিখিত রীতি অনুসরণ করে:

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

উদাহরণস্বরূপ, এই কোয়েরিটি আপনাকে বলতে পারে যে গত এক ঘণ্টায়:

  • যানবাহন ‘এ’ ১২তম ঘণ্টায় ১০টি এবং ১৩তম ঘণ্টায় ৮টি স্টপ সম্পন্ন করেছে।
  • যানবাহন ‘বি’ ১১তম ঘণ্টায় ৫টি এবং ১২তম ঘণ্টায় ৭টি স্টপ সম্পন্ন করেছে।
  • যানবাহন C ১৩তম ঘণ্টায় ১২টি এবং ১৪তম ঘণ্টায় ৯টি স্টপ সম্পন্ন করেছে।

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 জন্য অতিরিক্ত ড্রপ-ডাউন তালিকা নিয়ন্ত্রণ যোগ করতে পারেন। এই নিয়ন্ত্রণগুলির সাহায্যে, আপনি যানবাহনটির চলাচল অথবা একটি ট্রিপের মধ্যেকার চলাচল দেখতে পারেন।

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

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

এরপর কী?

ডেটা সংরক্ষণ নীতিমালা মেনে চলার জন্য, ‘লগ সংরক্ষণ সীমাবদ্ধ করুন’ দেখুন।