BigQuery की मदद से लॉग का विश्लेषण करें

BigQuery, आंकड़ों का विश्लेषण करने के लिए एक बेहतरीन टूल है. इसका इस्तेमाल, लंबे समय तक के लॉग सेव करने और डेटा पर SQL जैसी क्वेरी करने के लिए किया जा सकता है. अगर आपको विश्लेषण के लिए BigQuery का इस्तेमाल करना है, तो आपको अपने लॉग को खास तौर पर BigQuery में रूट करना होगा. इसके बारे में अगले सेक्शन में बताया गया है.

लॉग को BigQuery में भेजना

  1. लॉग एक्सप्लोरर में, ऐसा फ़िल्टर बनाएं जो फ़्लीट इंजन लॉग को अलग-अलग दिखाता हो: 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 ने 12 घंटे में 10 स्टॉप और 13 घंटे में 8 स्टॉप पूरे किए.
  • वाहन B ने 11वें घंटे में पांच स्टॉप और 12वें घंटे में सात स्टॉप पूरे किए.
  • वाहन C ने 13 घंटे में 12 स्टॉप और 14 घंटे में 9 स्टॉप पूरे किए.

BigQuery पर रूट किए गए लॉग देखना भी देखें.

BigQuery को Looker Studio के साथ इंटिग्रेट करना

कारोबार के आंकड़ों के लिए डैशबोर्ड बनाने के लिए, 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 के उदाहरण का आउटपुट

आगे क्या करना है

डेटा के रखरखाव की नीतियों का पालन करने के लिए, लॉग के रखरखाव पर पाबंदी लगाना लेख पढ़ें.