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 में आउटपुट का उदाहरण

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

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