लॉग इन हो रहा है

Fleet Engine की मदद से, डेटा को लॉग करने की एक आसान सेवा दी जाती है एपीआई अनुरोध और रिस्पॉन्स पेलोड. इन लॉग का इस्तेमाल करके, इंटिग्रेशन, मॉनिटरिंग मेट्रिक बनाना, और ट्रैफ़िक के पैटर्न का विश्लेषण करना.

फ़्लीट इंजन, लॉग को प्लैटफ़ॉर्म के तौर पर भेजता है लॉग को Cloud में सेव करें लॉग करना, ताकि आप क्लाउड का इस्तेमाल कर सकें उन्हें ऐक्सेस करने के लिए लॉगिंग टूल.

फ़्लीट इंजन कौनसा लॉग करता है

Fleet Engine की मदद से, Cloud को कई तरह की जानकारी भेजी जाती है लॉग इन करना, जैसे:

  • पुष्टि किए गए सभी REST और gRPC अनुरोध और उनके जवाब
  • गड़बड़ी के जवाब
  • ड्राइवर के कॉल से मिले अनुरोध, जवाब, और गड़बड़ी के मैसेज SDK टूल को फ़्लीट इंजन में बदल दिया जाएगा.
  • इस्तेमाल किए जा सकने वाले लॉग टाइप के लिए लॉग को बांटें:

लॉगिंग पेज में, उपलब्ध लॉग मैसेज और स्कीमा के लिए दस्तावेज़ देखें रेफ़रंस.

डेटा के रखरखाव की नीतियों का पालन करने के लिए, प्रतिबंधित और डिफ़ॉल्ट लॉग बकेट का इस्तेमाल करें

"प्रतिबंधित" का इस्तेमाल किया जा रहा है और "डिफ़ॉल्ट" बकेट की मदद से, यह पक्का किया जाता है कि प्रतिबंधित और बिना पाबंदी वाला डेटा खर्च. फ़्लीट इंजन से जुड़ा कुछ लॉग डेटा Google Maps Platform को भेजता है, तो उसे सिर्फ़ कुछ समय के लिए सेव रखा जा सकता है. मोबिलिटी सेवा की खास शर्तें शर्तें. अगर आपको सीमित समय के लिए ही सीमित डेटा को सेव रखना है, तो ऐसे डेटा को TOS_RESTRICTED के रूप में लेबल किया जाना चाहिए (फ़्लीट इंजन यह पहले से करता है) और "पाबंदी" नाम के एक खास बकेट में लॉग इन किया गया.

यहां से, यह तय किया जा सकता है कि आपका डेटा कब तक सेव रखा जाए. साथ ही, इसे अपने-आप पूरी तरह मिटा दिया जाए ऐक्सेस खत्म होने की तारीख तय करने के लिए, क्लाउड लॉगिंग सेटिंग का इस्तेमाल करें. उदाहरण के लिए, सीमित इस्तेमाल के लिए लॉग में सिर्फ़ 30 दिनों तक सेव करके रखी जानी चाहिए.

बचे हुए सभी बिना पाबंदी वाले डेटा को "डिफ़ॉल्ट" पर लॉग करें बकेट, जहां इसे हो सकता है मोबिलिटी सेवा की खास शर्तों के हिसाब से लंबे समय के लिए रखा जा सकता है शर्तें (आम तौर पर एक साल के लिए). "प्रतिबंधित" का इस्तेमाल किया जा रहा है और "डिफ़ॉल्ट" बकेट की मदद से, आपके डेटा के सीमित और बिना पाबंदी वाले इस्तेमाल की तस्वीर.

प्रतिबंधित और बिना पाबंदी वाले लॉग को मर्ज करके, पूरी जानकारी पाएं

पाबंदी वाले इस्तेमाल के लॉग में, प्रतिबंधित इस्तेमाल वाला डेटा और डिफ़ॉल्ट लॉग ताकि उन सभी को एक साथ देखा जा सके. सीमित इस्तेमाल के लिए लॉग parent_insert_id में डिफ़ॉल्ट लॉग का InsertId, रेफ़रंस के तौर पर शामिल होता है फ़ील्ड. इस फ़ील्ड का इस्तेमाल, दोनों लॉग का डेटा जोड़ने और पूरी तस्वीर.

लॉगिंग पेज में जाकर, सभी उपलब्ध लॉग मैसेज और स्कीमा के दस्तावेज़ देखें रेफ़रंस.

क्लाउड में लॉग इन करने की सुविधा चालू करना

Fleet Engine नए मोबिलिटी ग्राहकों के लिए डिफ़ॉल्ट लॉग को अपने आप चालू करता है, सबसे पहले, 10 फ़रवरी, 2022 को बनाए गए प्रोजेक्ट से शुरू किए जाते हैं. यह पुष्टि की जा सकती है कि लॉग में, नीचे दी गई क्वेरी का इस्तेमाल करके लॉग को चालू किया जाता है एक्सप्लोरर :

resource.type:"fleetengine.googleapis.com/DeliveryFleet"

अगर आपको उस क्वेरी के लिए कोई लॉग नहीं दिखता है, तो हो सकता है कि Cloud Logging चालू किया गया है. संपर्क करना अगर आप चाहें, तो से मदद ले सकते हैं इस सुविधा को चालू करें.

पाबंदी वाले इस्तेमाल के लॉग चालू करें

अनुरोध करने पर, पाबंदी वाले इस्तेमाल के लॉग चालू किए जाते हैं. अपने Google के लिए इन लॉग को सक्षम करने के लिए Cloud प्रोजेक्ट चुनें, तो इन चरणों को पूरा करें:

सीमित इस्तेमाल के लिए लॉग पाने के लिए अपना प्रोजेक्ट तैयार करें

  1. Google Cloud Console में, 'लॉग राऊटर' पेज खोलें.
  2. प्रतिबंधित इस्तेमाल वाले लॉग शामिल न करने के लिए, _Default लॉगिंग बकेट को अपडेट करें.
    1. _Default लॉगिंग बकेट चुनें और फिर सिंक में बदलाव करें चुनें.
    2. "सिंक को फ़िल्टर करने के लिए लॉग चुनें" सेक्शन में, "जोड़ें एक्सक्लूज़न" बटन:
      1. बाहर रखे गए कॉन्टेंट वाले फ़िल्टर का नाम: Include RestrictedLogs
      2. एक्सक्लूज़न फ़िल्टर: labels.restriction="TOS_RESTRICTED"
    3. "सिंक अपडेट करें" पर क्लिक करें.
  3. सीमित इस्तेमाल के लिए लॉग को सेव करने के लिए, प्रतिबंधित लॉगिंग बकेट को अपडेट करें.
    1. लॉग राऊटर पेज पर जाकर, "सिंक बनाएं" को चुनें.
    2. इन सेटिंग की मदद से सिंक बनाएं:
      1. सिंक विवरण:
        1. नाम: प्रतिबंधित लॉग
        2. ब्यौरा: रूट फ़्लीट इंजन के प्रतिबंधित-इस्तेमाल के लॉग
      2. सिंक गंतव्य:
        1. सिंक सेवा: लॉगिंग बकेट
        2. लॉग बकेट चुनें: नया लॉग बकेट बनाएं
          1. नाम: प्रतिबंधित
          2. ब्यौरा: इसमें फ़्लीट इंजन के प्रतिबंधित इस्तेमाल के लॉग शामिल हैं
        3. निजी डेटा के रखरखाव की अवधि: 30 दिन
          1. ध्यान दें: डेटा के रखरखाव की अवधि 30 दिनों से ज़्यादा नहीं होनी चाहिए.
      3. सिंक में शामिल करने के लिए लॉग: खाली छोड़ें
      4. सिंक के बाहर फ़िल्टर करने के लिए लॉग: "शामिल न करने की सूची जोड़ें" पर क्लिक करें
        1. बाहर रखने के लिए बनाए गए फ़िल्टर का नाम: ExitNon RestrictedLogs
        2. एक्सक्लूज़न फ़िल्टर: NOT (resource.type = "fleetengine.googleapis.com/Fleet" याResource.type = "fleetengine.googleapis.com/deliveryFleet") इसे लागू नहीं किया गया (labels.restriction = "TOS_RESTRICTED")
      5. "सिंक बनाएं" पर क्लिक करें

सीमित इस्तेमाल के लिए लॉग की सुविधा चालू करने के लिए, सहायता टीम से संपर्क करें

इसके बाद, संपर्क करें की मदद करें और आपके सहायता अनुरोध में नीचे दी गई जानकारी:

  1. जिन प्रोजेक्ट आईडी को चालू करना है:
  2. बदलाव का अनुरोध करने वाले व्यक्ति का ईमेल पता:
    1. ध्यान दें: इस व्यक्ति के पास Google Cloud प्रोजेक्ट में बदलाव करने का ऐक्सेस होना चाहिए सूचीबद्ध हैं.
  3. क्लाउड लॉगिंग में प्रतिबंधित उपयोग के लिए Google मैप सामग्री को चालू करने का मतलब है कि आप सहमत हैं Google Maps Platform का पालन करने के लिए शर्तें और मोबिलिटी सेवा तय शर्तें, इसमें कैश मेमोरी और इस्तेमाल की अनुमति वाली ज़रूरी शर्तें शामिल हैं, क्योंकि ये Google से जुड़ी हैं Maps का कॉन्टेंट. हां / नहीं

सहायता टीम को आपका अनुरोध मिलने के बाद, सहायता टीम को को आपके प्रोजेक्ट के लिए चालू कर दिया गया है

क्लाउड लॉग को बांटें

क्लाउड में लॉग करने की सुविधा का इस्तेमाल करने पर, आने वाले लॉग का साइज़ 256 केबी तक सीमित होता है. सेवा ड्रॉप लॉग उस सीमा से ज़्यादा हो. क्लाउड लॉगिंग के बड़े लॉग को बनाए रखा जाए, यह पक्का करने के लिए, फ़्लीट इंजन उन्हें 256 केबी थ्रेशोल्ड के तहत लॉग की सीरीज़ में बांट सकता है. ऐसे लॉग जिनमें कॉमन है insertId वह क्रम है जिसमें सेवा छोटे लॉग को ज़्यादा बड़ा लॉग है. इसके बाद, उन लोगों के खाते या संगठन की जानकारी के आधार पर उन्हें एक साथ फिर से शामिल किया जा सकता है insertId को भी शामिल करें.

उस मूल लॉग को ऐक्सेस करने के लिए जिसे अलग-अलग नहीं किया गया है, स्प्लिट लॉग को उनके आधार पर मर्ज करें insertIds चार्ट में दी गई जानकारी के हिसाब से उन्हें मूल क्रम में बांट दिया गया है. क्लाउड लॉग एंट्री.

स्प्लिट लॉग और स्प्लिट ऑडिट में बताए गए स्ट्रक्चर एक जैसे हैं लॉग एंट्री गाइड क्लाउड ऑडिट लॉग. फ़्लीट लॉगिंग में विभाजित लॉग के लिए बड़ा अंतर यह है कि बंटवारा protoPayload के बजाय, jsonPayload फ़ील्ड में होता है फ़ील्ड. अगले सेक्शन में, बांटी गई जानकारी देखें.

इस्तेमाल किए जा सकने वाले लॉग टाइप

फ़्लीट इंजन में, सिर्फ़ इन लॉग टाइप के लिए लॉग को बांटा जा सकता है जिसका लॉग आकार 256 केबी से ज़्यादा होता है:

स्प्लिट लॉग स्ट्रक्चर का उदाहरण

// First Split Log
{
  // insertId appended with an increasing number
  "insertId": "ABCDE-1",
  "jsonPayload": {
    "request": {
      "filter": "tracking_id=tracking-test-splitting-task"
    },
    "@type": "type.googleapis.com/maps.fleetengine.delivery.log.v1.ListTasksLog",
    "response": {
      "tasks": [
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-0",
          // ...
        },
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-1",
          // ...
        },
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-2"
          // ...
        },
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-3",
          // ...
        },
      ]
    },
    "header": {}
  },
  "resource": {
    "type": "fleetengine.googleapis.com/DeliveryFleet",
    "labels": {
      "resource_container": "projects/providers-123",
      "location": "global"
    }
  },
  // Same timestamp
  "timestamp": "2024-01-29T23:35:58.076515Z",
  "labels": {
  },
  "logName": "projects/providers-123/logs/fleetengine.googleapis.com%2Flist_tasks",
  "receiveTimestamp": "2024-01-29T23:35:59.278858322Z",
  "split": {
    // UID for this logical log entry (same across splits)
    "uid": "ABCDE",
    "totalSplits": 2
  }
}
// Second Split Log
{
  // insertId appended with an increasing number
  "insertId": "ABCDE-2",
  "jsonPayload": {
    "request": {
      "filter": "tracking_id=tracking-test-splitting-task"
    },
    "@type": "type.googleapis.com/maps.fleetengine.delivery.log.v1.ListTasksLog",
    "response": {
      "tasks": [
         // Previous tasks appear as empty objects in subsequent splits
        {}, {}, {}, {},
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-4",
          // ...
        }
      ]
    },
    "header": {}
  },
  "resource": {
    "type": "fleetengine.googleapis.com/DeliveryFleet",
    "labels": {
      "resource_container": "projects/providers-123",
      "location": "global"
    }
  },
  // Same timestamp
  "timestamp": "2024-01-29T23:35:58.076515Z",
  "labels": {
  },
  "logName": "projects/providers-123/logs/fleetengine.googleapis.com%2Flist_tasks",
  "receiveTimestamp": "2024-01-29T23:35:59.278858322Z",
  "split": {
    // UID for this logical log entry (same across splits)
    "uid": "ABCDE",
    // Subsequent logs after the original will have a zero based index
    "index": 1,
    "totalSplits": 2
  }
}

लॉग ऐक्सेस करना

क्लाउड लॉग LogEntry फ़ॉर्मैट. फ़्लीट इंजन, LogEntry के साथ Cloud Logging को लॉग भेजता है resource.type को fleetengine.googleapis.com पर सेट करें. लॉग का इस्तेमाल करके, लॉग एक्सप्लोरर से अपने लॉग देखने के लिए क्वेरी लिखें.

उदाहरण के लिए, गड़बड़ी दिखाने वाले सभी RPC को फ़्लीट इंजन से देखने के लिए, लॉग एक्सप्लोरर क्वेरी का पालन करें:

resource.type:"fleetengine.googleapis.com/DeliveryFleet"
severity=ERROR

इस टूल के लिए UpdateDeliveryVehicle तरीके से बनाए गए RPC के लॉग देखने के लिए प्रोजेक्ट का उदाहरण-प्रोजेक्ट है, तो नीचे दी गई लॉग एक्सप्लोरर क्वेरी का इस्तेमाल करें:

logName="projects/project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle"

नीचे दिए गए उदाहरण में, UpdateDeliveryVehicle के लिए LogEntry दिखाया गया है लॉग इन करें. आरपीसी अनुरोध और उसके जवाब, jsonPayload फ़ील्ड में मौजूद होते हैं:

    {
      "insertId": "c6b85fbc927343fc8a85338c57a65733",
      "jsonPayload": {
        "request": {
          "header": {4},
          "updateMask": "deviceSettings",
          "vehicleId": "uniqueVehicleId",
          "vehicle": {2}
        },
        "response": {
          "name": "providers/example-project-id/vehicles/uniqueVehicleId",
          "availableCapacity": 2,
          "state": "VEHICLE_STATE_OFFLINE",
          "maximumCapacity": 2,
          "vehicleType": {1},
          "supportedTrips": {1}
        },
        "@type": "type.googleapis.com/maps.fleetengine.v1.UpdateDeliveryVehicleLog"
      },
      "resource": {
        "type": "fleetengine.googleapis.com/DeliveryFleet",
        "labels": {2}
      },
      "timestamp": "2021-01-01T00:00:00.000000000Z",
      "labels": {2},
      "logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle",
      "receiveTimestamp": "2021-01-01T00:00:00.000000000Z"
    }

अगर कोई RPC गड़बड़ी मिलती है, तो responseDeliveryVehicle फ़ील्ड errorResponse फ़ील्ड को सेट कर दिया गया है और jsonPayload में अपने-आप जानकारी भर गई है:

    {
      "insertId": "2ead60bdec561836a1bb84a90e9915cd",
      "jsonPayload": {
        "@type": "type.googleapis.com/maps.fleetengine.delivery.log.v1.UpdateDeliveryVehicleLog",
        "header": {
          "languageCode": "en",
          "osVersion": "11",
          "platform": "PLATFORM_LOG_ANDROID",
          "regionCode": "US",
          "sdkType": "SDK_TYPE_LOG_DRIVER",
          "sdkVersion": "4.4.3"
        },
        "request": {
          "deliveryVehicle": {4},
          "deliveryVehicleId": "uniqueDeliveryVehicleId",
          "updateMask": "lastLocation"
        },
        "response": {
          "lastLocation": {14},
          "name": "providers/example-project-id/deliveryVehicles/uniqueDeliveryVehicleId",
          "navigationStatus": "NAVIGATION_STATUS_ARRIVED_AT_DESTINATION",
          "remainingDistanceMeters": "430",
          "remainingDuration": "10s"
        }
      },
      "labels": {
        "delivery_vehicle_id": "uniqueDeliveryVehicleId"
      },
      "logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle",
      "receiveTimestamp": "2023-07-14T22:57:51.156515110Z",
      "resource": {
        "labels": {2},
        "type": "fleetengine.googleapis.com/DeliveryFleet"
      },
      "timestamp": "2023-07-14T22:57:51.018045Z"
    }

लॉगिंग क्वेरी लैंग्वेज के बारे में ज़्यादा जानकारी के लिए, लॉगिंग क्वेरी देखें भाषा पर टैप करें. मेट्रिक बनाने के लिए अपने लॉग का इस्तेमाल कैसे किया जा सकता है, इस बारे में जानने के लिए खास जानकारी देखें का लॉग-आधारित मेट्रिक देखें.

लॉगिंग लागत प्रबंधित करें

लॉगिंग सक्षम हो जाने के बाद, आप अपने तरीके को सेट करने के लिए ज़िम्मेदार हैं का इस्तेमाल कर सकते हैं. आपको अतिरिक्त Google Cloud का शुल्क देना पड़ सकता है लॉग के लिए शुल्क अगर आपने डेटा के इस्तेमाल और रखरखाव की सीमाओं से ज़्यादा चार्ज. हालांकि, इनमें से कोई एक तरीका अपनाकर, डेटा इकट्ठा करने की लागत को कंट्रोल किया जा सकता है:

डेटा लॉग का इस्तेमाल कम करें

कुछ लॉग एंट्री को हटाकर, लॉग डेटा के जोड़े जाने की संख्या को सीमित किया जा सकता है.

लॉग एक्सपोर्ट या रूट करें

आपके पास लॉग को अन्य Google Cloud या बाहरी डेस्टिनेशन पर रूट करने का विकल्प होता है, ताकि डेटा डालने और स्टोरेज का डिफ़ॉल्ट शुल्क दिखता है. पक्का करें कि आपने लॉग इन करने की सुविधा बंद की हो, क्योंकि डेटा डालने की लागत से बचने के लिए, अगले सेक्शन में बताया गया है.

शुल्क से बचने के लिए, लॉग डेटा डालने की सुविधा बंद करें

पलटने के बजाय, लॉग के इस्तेमाल को कम करना या लॉग को एक्सपोर्ट या रूट करना बेहतर होता है लॉग इन करने का विकल्प बंद है. हालांकि, अगर आपको Fleet Engine लॉग इस्तेमाल नहीं करना है, तो डेटा डालने की सुविधा बंद करके, क्लाउड पर लॉग इन करने के संभावित शुल्क से बचा जा सकता है. डिफ़ॉल्ट रूप से, फ़्लीट इंजन लॉग को _Default लॉग बकेट में रूट किया जाता है.

यह निर्देश _Default लॉगिंग बकेट को अपडेट करता है, ताकि फ़्लीट में डेटा न डाला जाए इंजन के लॉग.

gcloud logging sinks update _Default \
--log-filter='NOT LOG_ID("cloudaudit.googleapis.com/activity") \
AND NOT LOG_ID("externalaudit.googleapis.com/activity") \
AND NOT LOG_ID("cloudaudit.googleapis.com/system_event") \
AND NOT LOG_ID("externalaudit.googleapis.com/system_event") \
AND NOT LOG_ID("  cloudaudit.googleapis.com/access_transparency") \
AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency") \
AND NOT resource.type:"fleetengine.googleapis.com"''

ज़्यादा जानकारी के लिए, यह देखें: Cloud Logging बाहर रखना और बाहर रखना लॉग के लॉग में डालें. क्लाउड का लॉग इकट्ठा करना एक्सपोर्ट और एक्सपोर्ट करना लॉग

लॉग एक्सप्लोरर का इस्तेमाल करना

लॉग एक्सप्लोरर का इस्तेमाल करने के लिए, Cloud Console खोलें. इसके बाद, लॉगिंग चुनें और फिर लॉग एक्सप्लोरर. सभी उपलब्ध फ़्लीट इंजन लॉग की सूची देखने के लिए, क्लिक करें फ़्लीट इंजन रिसॉर्स टाइप. कुछ Delivery API लॉग, टास्क आईडी और डिलीवरी वाहन का आईडी. लॉग चुनने के लिए, इन लेबल का इस्तेमाल किया जा सकता है आपकी पसंद के टास्क या गाड़ियां.

लॉग लेबल

डिलीवरी वाहन के आईडी के हिसाब से लॉग फ़िल्टर करें

लॉग एक्सप्लोरर में, लॉग को सीमित करने के लिए इस क्वेरी का इस्तेमाल करें: खास वाहन:

    resource.type="fleetengine.googleapis.com/DeliveryFleet"
    labels.delivery_vehicle_id="delivery_vehicle_id"

वाहन के हिसाब से फ़िल्टर करें

टास्क आईडी के हिसाब से लॉग फ़िल्टर करें

लॉग एक्सप्लोरर में, लॉग को सीमित करने के लिए इस क्वेरी का इस्तेमाल करें: चुनिंदा टास्क:

    resource.type="fleetengine.googleapis.com/DeliveryFleet"
    labels.task_id=~"task_id"

किसी खास समयावधि में किसी वाहन के लिए फ़िल्टर लॉग

लॉग एक्सप्लोरर में, लॉग को सीमित करने के लिए इन क्वेरी का इस्तेमाल किया जा सकता है एक खास समयावधि में वाहन के लिए:

    resource.type="fleetengine.googleapis.com/DeliveryFleet"
    labels.delivery_vehicle_id="delivery_vehicle_id"
    timestamp>="2020-09-24T20:00:00.000Z"
    timestamp<"2020-09-24T21:00:00.000Z"

लॉग पर आधारित मेट्रिक का उदाहरण

नीचे दिए गए उदाहरण में, आपके विज्ञापनों की संख्या ट्रैक करने के लिए लॉग-आधारित मेट्रिक का इस्तेमाल करने का तरीका बताया गया है समय के साथ बनाए गए टास्क.

  1. Cloud Console में, लॉगिंग चुनें और फिर लॉग एक्सप्लोरर चुनें 'लॉग एक्सप्लोरर' में जाकर. इसके बाद, यह फ़िल्टर लगाएं:

    resource.type="fleetengine.googleapis.com/DeliveryFleet" resource.labels.location="global"
    logName="projects/ProjectID/logs/fleetengine.googleapis.com%2Fupdate_task"
    jsonPayload.request.task.taskOutcome="TASK_OUTCOME_LOG_SUCCEEDED"
    jsonPayload.request.updateMask="taskOutcome"
    jsonPayload.response.type= ("TASK_TYPE_LOG_PICKUP" OR "TASK_TYPE_LOG_DELIVERY")
    
  2. क्वेरी परिणाम पैनल में, कार्रवाइयां ड्रॉप-डाउन चुनें और फिर मेट्रिक बनाएं.

    मेट्रिक बनाएं

  3. मेट्रिक एडिटर डायलॉग में:

    • मेट्रिक का नाम तय करें (उदाहरण के लिए, billable_tasks).
    • एक मीट्रिक विवरण दर्ज करें (उदाहरण के लिए, बिल करने योग्य की संख्या Tasks).
    • यूनिट विकल्प को खाली छोड़ दें. _ टाइप विकल्प को ऐसा रहने दें काउंटर.

    इसके बाद, मेट्रिक बनाएं बटन चुनें.

  4. लॉग पर आधारित मेट्रिक पेज पर, आपको यह पुष्टि करने वाला मैसेज दिखेगा कि मेट्रिक बना दी गई है और नई मेट्रिक उपयोगकर्ता की ओर से तय की जाने वाली मेट्रिक का सेक्शन. अब मेट्रिक की जानकारी, मैच होने वाले विज्ञापनों के तौर पर अपने-आप भर जाएगी लॉग जनरेट होते हैं.

  5. नई मेट्रिक की दाईं ओर मौजूद वर्टिकल ड्रॉप-डाउन को चुनें और फिर मेट्रिक एक्सप्लोरर में देखें चुनें.

    मेट्रिक देखें

  6. 'अपनी क्वेरी बनाएं' में बाएं पैनल में, संसाधन टाइप को फ़्लीट पर सेट करें इंजन और Billable_tasks मेट्रिक खोजें.

    खोज मीट्रिक

    दाईं ओर दिया गया ग्राफ़ बिलable_tasks कॉल की दर दिखाता है.

BigQuery का इस्तेमाल करना

विश्लेषण करने के लिए BigQuery एक बेहतरीन टूल है. इसका इस्तेमाल स्टोर में किया जा सकता है लंबे समय के लॉग करने और डेटा के लिए ऐड-हॉक SQL जैसी क्वेरी करने के लिए.

BigQuery पर लॉग रूट करना

BigQuery का फ़ायदा उठाने के लिए, लॉग को BigQuery डेटास्टोर में इस तरह रूट किया जाना चाहिए अनुसरण करता है:

  1. Cloud Console में, लॉगिंग चुनें. इसके बाद, लॉग एक्सप्लोरर चुनें.

  2. ऐसा फ़िल्टर बनाएं जो फ़्लीट इंजन के लॉग को अलग करता हो. लॉग फ़ील्ड एक्सप्लोरर में, Fleetengine.googleapis.com/DeliveryFleet संसाधन टाइप चुनें.

    कुछ लिखने या तैयार करने में मदद पाएँ
फ़िल्टर

  3. क्वेरी परिणाम पेन में, कार्रवाइयां ड्रॉप-डाउन क्लिक करें और बनाएं सिंक.

    कुछ लिखने या तैयार करने में मदद पाएँ
सिंक

  4. सिंक सेवा चुनने के डायलॉग बॉक्स में, BigQuery डेटासेट चुनें.

    चुनें
सिंक

  5. सिंक में बदलाव करें डायलॉग में, नीचे दिए गए विकल्पों के बारे में बताएं:

    • सिंक को कोई नाम दें (उदाहरण के लिए, FleetEngineLogsSink).
    • सिंक सेवा को BigQuery के तौर पर छोड़ें.
    • सेगमेंट में बांटी गई टेबल इस्तेमाल करें विकल्प चुनें. इससे क्वेरी बूस्ट हो जाएगा परफ़ॉर्मेंस.
    • सिंक डेस्टिनेशन में जाकर, नया BigQuery डेटासेट बनाएं चुनें और फिर BigQuery डेटासेट का नाम बताएं (उदाहरण के लिए, FleetEngineLogs).
    • सिंक बनाएं बटन पर क्लिक करें.

    संपादित करें
    सिंक

अब आपके लॉग, BigQuery डेटासेट में जानकारी भरने शुरू हो जाएंगे. यहां दी गई जानकारी देखने के लिए, डेटा देखने के लिए, Cloud Console के BigQuery सेक्शन में जाएं.

BigQuery
सेक्शन

FleetEngineLogs डेटासेट के तहत कई टेबल में जानकारी भरी जाएगी हर लॉग टाइप के लिए एक अटैचमेंट जनरेट होता है:

  • CreateDeliveryVehicle
  • GetDeliveryVehicle
  • ListDeliveryVehicle
  • UpdateDeliveryVehicle
  • CreateTask
  • GetTask
  • UpdateTask
  • ListTasks

टेबल के नाम इस पैटर्न का इस्तेमाल करते हैं:

project_id.data_set.log_name

उदाहरण के लिए, अगर प्रोजेक्ट को test_project कहा जाता है और डेटासेट का नाम FleetEngineLogs, CreateTask टेबल के नाम ये हैं:

test_project.FleetEngineLogs.fleetengine_googleapis_com_create_task

क्वेरी के उदाहरण

इस सेक्शन में ऐसी क्वेरी के उदाहरण दिए गए हैं जिन्हें बनाया जा सकता है.

हर घंटे बनाए गए टास्क

नीचे दी गई क्वेरी CreateTasks लॉग की संख्या की गिनती करती है और उन्हें इस आधार पर ग्रुप में बांटती है घंटे.

    SELECT TIMESTAMP_TRUNC(timestamp, HOUR) as hour,
           count(*) as num_tasks_created
    FROM
    `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_create_task`
    GROUP BY hour
    ORDER by hour

हर वाहन के लिए एक घंटे में स्टॉप की संख्या

नीचे दी गई क्वेरी से उन स्टॉप की संख्या जनरेट होती है जहां वाहन टूटा हुआ था घंटे तक कम हुआ.

उदाहरण के लिए, इस क्वेरी से पता चल सकता है कि पिछले एक घंटे में:

  • वाहन A ने 12 घंटे में 10 स्टॉप और 13 घंटे में 8 स्टॉप पूरे किए.
  • वाहन B ने 11 घंटे में पांच स्टॉप और 12 घंटे में 7 स्टॉप पूरे किए हैं.
  • वाहन C ने 13 घंटे में 12 स्टॉप और 14 घंटे में 9 स्टॉप पूरे किए.

    SELECT
      jsonpayload_v1_updatedeliveryvehiclelog.request.deliveryvehicleid AS vehicle,
      TIMESTAMP_TRUNC(timestamp, HOUR) AS hour,
      COUNT(*) AS num_stops
    FROM
      `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update_delivery_vehicle`
    WHERE
    ARRAY_LENGTH(jsonpayload_v1_updatedeliveryvehiclelog.request.deliveryvehicle.remainingvehiclejourneysegments) > 0
    AND jsonpayload_v1_updatedeliveryvehiclelog.request.deliveryvehicle.remainingvehiclejourneysegments[
    OFFSET
    (0)].stop.state = 'VEHICLE_STOP_STATE_LOG_ARRIVED'
    GROUP BY
    1,
    2
    ORDER BY
    2
    

पहली डिलीवरी की सफलता की दर

नीचे दी गई क्वेरी, जो पहली डिलीवरी में सफलता का प्रतिशत दिखाती है कोशिश की दर.

    SELECT
     vehicle_id,
     COUNTIF(outcome = "TASK_OUTCOME_LOG_SUCCEEDED") AS num_success,
     COUNT(*) AS total_deliveries,
     COUNTIF(outcome = "TASK_OUTCOME_LOG_SUCCEEDED") * 100/ COUNT(*) AS success_rate
    FROM (
     SELECT
       labels.delivery_vehicle_id AS vehicle_id,
       jsonpayload_v1_updatetasklog.response.trackingid AS trackingid,
       ARRAY_AGG(jsonpayload_v1_updatetasklog.response.taskoutcome
       ORDER BY
         timestamp ASC)[ORDINAL(1)] AS outcome,
     FROM
     `ProjectId.FleetEngineLogsfleetengine_googleapis_com_update_task`
     WHERE
      jsonpayload_v1_updatetasklog.response.type = "TASK_TYPE_LOG_DELIVERY"
     GROUP BY 1, 2
     ORDER BY 1, 2)
    GROUP BY 1
    ORDER BY 1

Datastudio डैशबोर्ड

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

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

  1. नया Datastudio डैशबोर्ड लॉन्च करना और डेटा के तौर पर BigQuery चुनना कनेक्शन.

    डेटा
कनेक्शन

  2. कस्टम क्वेरी चुनें और वह क्लाउड प्रोजेक्ट चुनें जिसमें यह होना चाहिए बिल किया गया.

    चुनें
प्रोजेक्ट

  3. क्वेरी बॉक्स में यहां दी गई क्वेरी डालें.

    ऑब्जेक्ट को सीन में शामिल करने पर
क् वेरी

    SELECT
     timestamp,
     labels.delivery_vehicle_id,
    jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.latitude AS lat,
    jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.longitude AS lng
    FROM
    `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update_delivery_vehicle`
  1. बबल मैप के तौर पर चार्ट टाइप चुनें. इसके बाद, जगह की जानकारी वाला फ़ील्ड चुनें.

    चार्ट
टाइप

  2. फ़ील्ड बनाएं चुनें.

    कुछ लिखने या तैयार करने में मदद पाएँ
फ़ील्ड

  3. फ़ील्ड को नाम दें और यह फ़ॉर्मूला जोड़ें: CONCAT(lat, ",", lng).

    इसके बाद, टाइप को भौगोलिक->अक्षांश, देशांतर पर सेट करें.

    शुरू
टाइप

  4. डेटा फ़िल्टर करने के लिए, डैशबोर्ड में कंट्रोल जोड़े जा सकते हैं. उदाहरण के लिए, तारीख की सीमा वाला फ़िल्टर इस्तेमाल कर सकते हैं.

    जोड़ें
नियंत्रण

  5. तारीख की डिफ़ॉल्ट सीमा चुनने के लिए, तारीख की सीमा वाले बॉक्स में बदलाव करें.

    तारीख
सीमा

  6. delivery_vehicle_id के लिए, ड्रॉप-डाउन सूची के अतिरिक्त कंट्रोल जोड़े जा सकते हैं.

    ड्रॉप-डाउन
सूची

इन कंट्रोल की मदद से, वाहन की मूवमेंट को विज़ुअलाइज़ किया जा सकता है या वितरण के भीतर गतिविधि.