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 घंटे में 7 स्टॉप पूरे किए हैं.
  • वाहन C ने 13वें घंटे में 12 स्टॉप और 14वें घंटे में 9 स्टॉप पूरे किए.

BigQuery में भेजे गए लॉग देखना लेख भी पढ़ें.

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

BigQuery को बिज़नेस इंटेलिजेंस टूल के साथ इंटिग्रेट किया जा सकता है, ताकि कारोबार के आंकड़ों के लिए डैशबोर्ड बनाए जा सकें. Looker Studio देखें.

इस उदाहरण में, मैप पर यात्राओं और वाहन की गतिविधियों को विज़ुअलाइज़ करने के लिए, Looker Studio डैशबोर्ड बनाने का तरीका बताया गया है.

  1. नया Looker Studio डैशबोर्ड लॉन्च करें और डेटा कनेक्शन के तौर पर BigQuery चुनें.
  2. कस्टम क्वेरी चुनें और मैन्युअल तरीके से वह Cloud प्रोजेक्ट डालें या चुनें जिस पर इसे बिलिंग करना है.
  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 के आउटपुट का उदाहरण

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

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