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

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

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

  1. लॉग एक्सप्लोरर में, ऐसा फ़िल्टर बनाएं जो 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 ने 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. कस्टम क्वेरी चुनें और मैन्युअल तरीके से वह 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 के आउटपुट का उदाहरण

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

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