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

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

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