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"
अगर आपको उस क्वेरी के लिए कोई लॉग नहीं दिखता है, तो हो सकता है कि Cloud Logging चालू किया गया है. संपर्क करना अगर आप चाहें, तो से मदद ले सकते हैं इस सुविधा को चालू करें.
पाबंदी वाले इस्तेमाल के लॉग चालू करें
अनुरोध करने पर, पाबंदी वाले इस्तेमाल के लॉग चालू किए जाते हैं. अपने Google के लिए इन लॉग को सक्षम करने के लिए Cloud प्रोजेक्ट चुनें, तो इन चरणों को पूरा करें:
सीमित इस्तेमाल के लिए लॉग पाने के लिए अपना प्रोजेक्ट तैयार करें
- Google Cloud Console में, 'लॉग राऊटर' पेज खोलें.
- प्रतिबंधित इस्तेमाल वाले लॉग शामिल न करने के लिए, _Default लॉगिंग बकेट को अपडेट करें.
- _Default लॉगिंग बकेट चुनें और फिर सिंक में बदलाव करें चुनें.
- "सिंक को फ़िल्टर करने के लिए लॉग चुनें" सेक्शन में, "जोड़ें
एक्सक्लूज़न" बटन:
- बाहर रखे गए कॉन्टेंट वाले फ़िल्टर का नाम: Include RestrictedLogs
- एक्सक्लूज़न फ़िल्टर: labels.restriction="TOS_RESTRICTED"
- "सिंक अपडेट करें" पर क्लिक करें.
- सीमित इस्तेमाल के लिए लॉग को सेव करने के लिए, प्रतिबंधित लॉगिंग बकेट को अपडेट करें.
- लॉग राऊटर पेज पर जाकर, "सिंक बनाएं" को चुनें.
- इन सेटिंग की मदद से सिंक बनाएं:
- सिंक विवरण:
- नाम: प्रतिबंधित लॉग
- ब्यौरा: रूट फ़्लीट इंजन के प्रतिबंधित-इस्तेमाल के लॉग
- सिंक गंतव्य:
- सिंक सेवा: लॉगिंग बकेट
- लॉग बकेट चुनें: नया लॉग बकेट बनाएं
- नाम: प्रतिबंधित
- ब्यौरा: इसमें फ़्लीट इंजन के प्रतिबंधित इस्तेमाल के लॉग शामिल हैं
- निजी डेटा के रखरखाव की अवधि: 30 दिन
- ध्यान दें: डेटा के रखरखाव की अवधि 30 दिनों से ज़्यादा नहीं होनी चाहिए.
- सिंक में शामिल करने के लिए लॉग: खाली छोड़ें
- सिंक के बाहर फ़िल्टर करने के लिए लॉग: "शामिल न करने की सूची जोड़ें" पर क्लिक करें
- बाहर रखने के लिए बनाए गए फ़िल्टर का नाम: ExitNon RestrictedLogs
- एक्सक्लूज़न फ़िल्टर: NOT (resource.type = "fleetengine.googleapis.com/Fleet" याResource.type = "fleetengine.googleapis.com/deliveryFleet") इसे लागू नहीं किया गया (labels.restriction = "TOS_RESTRICTED")
- "सिंक बनाएं" पर क्लिक करें
- सिंक विवरण:
सीमित इस्तेमाल के लिए लॉग की सुविधा चालू करने के लिए, सहायता टीम से संपर्क करें
इसके बाद, संपर्क करें की मदद करें और आपके सहायता अनुरोध में नीचे दी गई जानकारी:
- जिन प्रोजेक्ट आईडी को चालू करना है:
- बदलाव का अनुरोध करने वाले व्यक्ति का ईमेल पता:
- ध्यान दें: इस व्यक्ति के पास Google Cloud प्रोजेक्ट में बदलाव करने का ऐक्सेस होना चाहिए सूचीबद्ध हैं.
- क्लाउड लॉगिंग में प्रतिबंधित उपयोग के लिए 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": {
"response": {
"matches": [
{
// ...
"vehicle": {
"name": "providers/test-123/vehicles/test-vehicle-0",
// ...
}
},
{
// ...
"vehicle": {
"name": "providers/test-123/vehicles/test-vehicle-1",
// ...
}
}
]
},
"@type": "type.googleapis.com/maps.fleetengine.v1.SearchVehiclesLog",
"request": {
"searchTripTypes": [
"EXCLUSIVE_TRIP"
],
"pickupPoint": {},
"count": 50,
"pickupRadiusMeters": 400,
"minimumCapacity": 1,
"matchOrderBy": "PICKUP_POINT_ETA",
"vehicleTypes": [
{
"vehicleCategory": "TAXI"
}
]
}
},
"resource": {
"type": "fleetengine.googleapis.com/Fleet",
"labels": {
"resource_container": "projects/test-123",
"location": "global"
}
},
// Same timestamp
"timestamp": "2024-02-06T22:48:50.620713Z",
"logName": "projects/test-123/logs/fleetengine.googleapis.com%2Fsearch_vehicles",
"receiveTimestamp": "2024-02-06T22:48:52.006308491Z",
"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": {
"response": {
"matches": [
{},{} // Previous matches appear as empty objects
{
// ...
"vehicle": {
"name": "providers/test-123/vehicles/test-vehicle-2",
// ...
},
}
]
},
"@type": "type.googleapis.com/maps.fleetengine.v1.SearchVehiclesLog",
"request": {
"searchTripTypes": [
"EXCLUSIVE_TRIP"
],
"pickupPoint": {},
"count": 50,
"pickupRadiusMeters": 400,
"minimumCapacity": 1,
"matchOrderBy": "PICKUP_POINT_ETA",
"vehicleTypes": [
{
"vehicleCategory": "TAXI"
}
]
}
},
"resource": {
"type": "fleetengine.googleapis.com/Fleet",
"labels": {
"resource_container": "projects/test-123",
"location": "global"
}
},
// Same timestamp
"timestamp": "2024-02-06T22:48:50.620713Z",
"logName": "projects/test-123/logs/fleetengine.googleapis.com%2Fsearch_vehicles",
"receiveTimestamp": "2024-02-06T22:48:52.006308491Z",
"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"
severity=ERROR
इस टूल के लिए UpdateVehicle
तरीके से बनाए गए RPC के लॉग देखने के लिए
प्रोजेक्ट का उदाहरण-प्रोजेक्ट है, तो नीचे दी गई लॉग एक्सप्लोरर क्वेरी का इस्तेमाल करें:
logName="projects/project-id/logs/fleetengine.googleapis.com%2Fupdate_vehicle"
नीचे दिए गए उदाहरण में, UpdateVehicle
के लिए 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.UpdateVehicleLog"
},
"resource": {
"type": "fleetengine.googleapis.com/Fleet",
"labels": {2}
},
"timestamp": "2021-01-01T00:00:00.000000000Z",
"labels": {2},
"logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_vehicle",
"receiveTimestamp": "2021-01-01T00:00:00.000000000Z"
}
अगर कोई RPC गड़बड़ी मिलती है, तो responseVehicle
फ़ील्ड
errorResponse
फ़ील्ड को सेट कर दिया गया है और jsonPayload
में अपने-आप जानकारी भर गई है:
{
"insertId": "c6b85fbc927343fc8a85338c57a65733",
"jsonPayload": {
"errorResponse": {
"httpStatusCode": 404,
"code": "NOT_FOUND",
"message": "No entity with id invalidVehicleId exists"
},
"@type": "type.googleapis.com/maps.fleetengine.v1.UpdateVehicleLog",
"request": {
"vehicle": {3},
"updateMask": "deviceSettings",
"vehicleId": "fakeVehicleId",
"header": {4}
}
},
"resource": {
"type": "fleetengine.googleapis.com/Fleet",
"labels": {2}
},
"timestamp": "2021-01-01T00:00:00.000000000Z",
"severity": "ERROR",
"labels": {2}
"logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_vehicle",
"receiveTimestamp": "2021-01-01T00:00:00.000000000Z"
}
लॉगिंग क्वेरी लैंग्वेज के बारे में ज़्यादा जानकारी के लिए, लॉगिंग क्वेरी देखें भाषा . मेट्रिक बनाने के लिए अपने लॉग का इस्तेमाल कैसे किया जा सकता है, इस बारे में जानने के लिए खास जानकारी देखें का लॉग-आधारित मेट्रिक देखें.
लॉगिंग लागत प्रबंधित करें
लॉगिंग सक्षम हो जाने के बाद, आप अपने तरीके को सेट करने के लिए ज़िम्मेदार हैं का इस्तेमाल कर सकते हैं. आपको अतिरिक्त 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 खोलें. इसके बाद, लॉगिंग चुनें और फिर लॉग एक्सप्लोरर. सभी उपलब्ध फ़्लीट इंजन लॉग की सूची देखने के लिए, क्लिक करें फ़्लीट इंजन रिसॉर्स टाइप. कुछ एपीआई लॉग पर यात्रा आईडी का लेबल होता है और वाहन का आईडी. इन लेबल का इस्तेमाल, यात्राओं या वाहनों के लॉग चुनने के लिए किया जा सकता है जिनमें आपकी दिलचस्पी हो.
वाहन के आईडी के हिसाब से लॉग फ़िल्टर करें
लॉग एक्सप्लोरर में, लॉग को सीमित करने के लिए इस क्वेरी का इस्तेमाल करें: खास वाहन:
resource.type="fleetengine.googleapis.com/Fleet"
labels.vehicle_id="vehicle_id"
यात्रा के आईडी के हिसाब से लॉग फ़िल्टर करें
लॉग एक्सप्लोरर में, लॉग को सीमित करने के लिए इस क्वेरी का इस्तेमाल करें: खास यात्रा:
resource.type="fleetengine.googleapis.com/Fleet"
labels.trip_id=~"trip_id"
किसी खास समयावधि में किसी वाहन के लिए फ़िल्टर लॉग
लॉग एक्सप्लोरर में, लॉग को सीमित करने के लिए इन क्वेरी का इस्तेमाल किया जा सकता है एक खास समयावधि में वाहन के लिए:
resource.type="fleetengine.googleapis.com/Fleet"
labels.vehicle_id="vehicle_id"
timestamp>="2020-09-24T20:00:00.000Z"
timestamp<"2020-09-24T21:00:00.000Z"
लॉग पर आधारित मेट्रिक का उदाहरण
नीचे दिए गए उदाहरण में, आपके विज्ञापनों की संख्या ट्रैक करने के लिए लॉग-आधारित मेट्रिक का इस्तेमाल करने का तरीका बताया गया है समय के साथ बनाई गई यात्राओं की जानकारी.
Cloud Console में, लॉगिंग चुनें और फिर लॉग एक्सप्लोरर चुनें 'लॉग एक्सप्लोरर' में जाकर. इसके बाद, यह फ़िल्टर लगाएं:
resource.type="audited_resource" resource.labels.method="maps.fleetengine.v1.TripService.ReportBillableTrip"
क्वेरी परिणाम पैनल में, कार्रवाइयां ड्रॉप-डाउन चुनें और फिर मेट्रिक बनाएं.
मेट्रिक एडिटर डायलॉग में:
- मेट्रिक को कोई नाम दें (उदाहरण के लिए, billable_trips).
- मीट्रिक विवरण दर्ज करें (उदाहरण के लिए, बिल करने योग्य यात्रा की संख्या कॉल).
- यूनिट विकल्प को खाली छोड़ दें. _ टाइप विकल्प को ऐसा रहने दें काउंटर.
इसके बाद, मेट्रिक बनाएं बटन चुनें.
लॉग-आधारित मेट्रिक पेज पर, आपको यह पुष्टि करने वाला मैसेज दिखेगा कि मेट्रिक बनाई गई थी और नई मेट्रिक उपयोगकर्ता की ओर से तय की जाने वाली मेट्रिक का सेक्शन. अब मेट्रिक की जानकारी, मैच होने वाले विज्ञापनों के तौर पर अपने-आप भर जाएगी लॉग जनरेट होते हैं.
नई मेट्रिक की दाईं ओर मौजूद वर्टिकल ड्रॉप-डाउन को चुनें और फिर मेट्रिक एक्सप्लोरर में देखें चुनें.
'अपनी क्वेरी बनाएं' के नीचे मौजूद बाएं पैनल में, संसाधन टाइप को फ़्लीट पर सेट करें इंजन डाउनलोड करें और बिलable_trips मेट्रिक खोजें.
दाईं ओर दिया गया ग्राफ़ बिल करने लायक_ट्रिप वाले कॉल की दर दिखाता है.
BigQuery का इस्तेमाल करें
विश्लेषण करने के लिए BigQuery एक बेहतरीन टूल है. इसका इस्तेमाल स्टोर में किया जा सकता है लंबे समय के लॉग करने और डेटा के लिए ऐड-हॉक SQL जैसी क्वेरी करने के लिए.
BigQuery पर लॉग रूट करें
BigQuery का फ़ायदा उठाने के लिए, लॉग को BigQuery डेटास्टोर में इस तरह रूट किया जाना चाहिए अनुसरण करता है:
Cloud Console में, लॉगिंग चुनें. इसके बाद, लॉग एक्सप्लोरर चुनें.
ऐसा फ़िल्टर बनाएं जो फ़्लीट इंजन के लॉग को अलग करता हो. लॉग फ़ील्ड एक्सप्लोरर में, Fleetengine.googleapis.com/Fleet संसाधन टाइप चुनें.
क्वेरी परिणाम पेन में, कार्रवाइयां ड्रॉप-डाउन क्लिक करें और बनाएं सिंक.
सिंक सेवा चुनने के डायलॉग बॉक्स में, BigQuery डेटासेट चुनें.
सिंक में बदलाव करें डायलॉग में, नीचे दिए गए विकल्पों के बारे में बताएं:
- सिंक को कोई नाम दें (उदाहरण के लिए, FleetEngineLogsSink).
- सिंक सेवा को BigQuery के तौर पर छोड़ें.
- सेगमेंट में बांटी गई टेबल इस्तेमाल करें विकल्प चुनें. इससे क्वेरी बूस्ट हो जाएगा परफ़ॉर्मेंस.
- सिंक डेस्टिनेशन में जाकर, नया BigQuery डेटासेट बनाएं चुनें और फिर BigQuery डेटासेट का नाम बताएं (उदाहरण के लिए, FleetEngineLogs).
- सिंक बनाएं बटन पर क्लिक करें.
अब आपके लॉग, BigQuery डेटासेट में जानकारी भरने शुरू हो जाएंगे. यहां दी गई जानकारी देखने के लिए, डेटा देखने के लिए, Cloud Console के 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
क्वेरी के उदाहरण
इस सेक्शन में उन क्वेरी के उदाहरण दिए गए हैं जिन्हें बनाया जा सकता है.
हर घंटे बनाई गई यात्राएं
नीचे दी गई क्वेरी 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
हर वाहन के लिए एक घंटे में स्टॉप की संख्या
नीचे दी गई क्वेरी से उन स्टॉप की संख्या जनरेट होती है जहां वाहन टूटा हुआ था घंटे तक कम हुआ.
उदाहरण के लिए, इस क्वेरी से हमें पता चल सकता है कि पिछले एक घंटे में:
- वाहन A ने 12 घंटे में 10 स्टॉप और 13 घंटे में 8 स्टॉप पूरे किए.
- वाहन B ने 11 घंटे में पांच स्टॉप और 12 घंटे में 7 स्टॉप पूरे किए हैं.
वाहन C ने 13 घंटे में 12 स्टॉप और 14 घंटे में 9 स्टॉप पूरे किए.
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
Data Studio के डैशबोर्ड
BigQuery को बिज़नेस इंटेलिजेंस टूल के साथ इंटिग्रेट किया जा सकता है. साथ ही, इसे डैशबोर्ड पर कारोबार के आंकड़ों के लिए बनाया जा सकता है.
नीचे दिए गए उदाहरण में, ट्रैक करने वाली ट्राई और वाहन के लिए डैशबोर्ड बनाने का तरीका बताया गया है गतिविधियों को मैप पर देखा जा सकता है.
नया Datastudio डैशबोर्ड लॉन्च करना और डेटा के तौर पर BigQuery चुनना कनेक्शन.
कस्टम क्वेरी चुनें और वह क्लाउड प्रोजेक्ट चुनें जिसमें यह होना चाहिए बिल किया गया.
क्वेरी बॉक्स में यहां दी गई क्वेरी डालें.
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.FleetEngineLogs.fleetengine_googleapis_com_update_vehicle`
बबल मैप के तौर पर चार्ट टाइप चुनें. इसके बाद, जगह की जानकारी वाला फ़ील्ड चुनें.
फ़ील्ड बनाएं चुनें.
फ़ील्ड को नाम दें और यह फ़ॉर्मूला जोड़ें: CONCAT(lat, ",", lng).
इसके बाद, टाइप को भौगोलिक->अक्षांश, देशांतर पर सेट करें.
डेटा फ़िल्टर करने के लिए, डैशबोर्ड में कंट्रोल जोड़े जा सकते हैं. उदाहरण के लिए, तारीख की सीमा वाला फ़िल्टर इस्तेमाल कर सकते हैं.
तारीख की डिफ़ॉल्ट सीमा चुनने के लिए, तारीख की सीमा वाले बॉक्स में बदलाव करें.
वाहन के आईडी के लिए, ड्रॉप-डाउन सूची के और कंट्रोल जोड़े जा सकते हैं.
इन कंट्रोल की मदद से, वाहन की मूवमेंट को विज़ुअलाइज़ किया जा सकता है या यात्रा के दौरान गतिविधि करते हैं.