Fleet Engine นำเสนอบริการการบันทึกแบบง่ายที่ช่วยให้คุณสามารถบันทึก คำขอ API และเพย์โหลดการตอบกลับ บันทึกเหล่านี้ช่วยให้คุณสามารถแก้ไขข้อบกพร่อง การผสานรวม สร้างเมตริกการตรวจสอบ และวิเคราะห์รูปแบบการเข้าชม
Fleet Engine จะส่งบันทึกเป็นแพลตฟอร์ม บันทึกไปยัง Cloud Logging เพื่อให้คุณใช้ระบบคลาวด์ เครื่องมือการบันทึกเพื่อเข้าถึงไฟล์
สิ่งที่ Fleet Engine บันทึก
Fleet Engine ส่งข้อมูลหลายชิ้นไปยัง Cloud การบันทึก เช่น
- คำขอและการตอบกลับ REST และ gRPC ที่ผ่านการตรวจสอบสิทธิ์ทั้งหมด
- การตอบกลับข้อผิดพลาด
- คำขอ การตอบกลับ และข้อความแสดงข้อผิดพลาดจากการโทรที่เริ่มต้นโดยคนขับ SDK ไปยัง Fleet Engine
บันทึกการแบ่งสำหรับประเภทบันทึกที่รองรับ:
ดูเอกสารประกอบสำหรับข้อความบันทึกที่มีและสคีมาในการบันทึก ข้อมูลอ้างอิง
ใช้ที่เก็บข้อมูลบันทึกเริ่มต้นและแบบจำกัดเพื่อให้เป็นไปตามนโยบายการเก็บรักษาข้อมูล
กำลังใช้ "จำกัด" และ "ค่าเริ่มต้น" ที่เก็บข้อมูลจำนวนมากช่วยให้เห็นภาพที่ชัดเจนของ การใช้ข้อมูลที่จำกัดและไม่จำกัด ข้อมูลบันทึกบางส่วนที่ Fleet Engine ข้อมูลที่ส่งไปยัง Google Maps Platform สามารถเก็บไว้ได้เป็นระยะเวลาหนึ่ง ตามข้อมูลจากบริการอุปกรณ์เคลื่อนที่เฉพาะ ข้อกำหนด เพื่อให้มั่นใจว่าคุณจะเก็บรักษาข้อมูลที่ถูกจำกัดไว้เป็นระยะเวลาเท่าที่ได้รับอนุญาตเท่านั้น ข้อมูลดังกล่าวควรมีป้ายกำกับเป็น TOS_RESTRICTED (Fleet Engine ดำเนินการนี้อยู่แล้ว) และบันทึกลงในที่เก็บข้อมูลเฉพาะที่ชื่อ "ถูกจำกัด"
ซึ่งคุณจะควบคุมได้ว่าจะเก็บรักษาข้อมูลไว้นานเท่าไร และลบออกอย่างถาวรโดยอัตโนมัติได้ในหน้านี้ หมดอายุโดยใช้การตั้งค่า Cloud Logging ตัวอย่างเช่น บันทึกการใช้งานที่จำกัดควร สามารถเก็บไว้ได้เพียง 30 วันเท่านั้น
บันทึกข้อมูลที่ไม่จํากัดที่เหลืออยู่ทั้งหมดเป็น "ค่าเริ่มต้น" ที่เก็บข้อมูล ได้รับการเก็บรักษาไว้นานกว่าเดิม ตามที่นิยามไว้ในบริการอุปกรณ์เคลื่อนที่เฉพาะ ข้อกำหนด (โดยทั่วไปเป็นเวลา 1 ปี) กำลังใช้ "จำกัด" และ "ค่าเริ่มต้น" ที่เก็บข้อมูลจะทำให้ข้อมูลที่ชัดเจน ภาพของปริมาณการใช้อินเทอร์เน็ตที่จำกัดและไม่จำกัด
ดูภาพรวมโดยการรวมบันทึกที่จำกัดและไม่จำกัด
บันทึกการใช้งานที่มีข้อจำกัดประกอบด้วยข้อมูลการใช้งานที่จำกัดและการอ้างอิง
บันทึกเริ่มต้นเพื่อให้พิจารณาร่วมกันได้ บันทึกการใช้งานที่ถูกจำกัด
มี InsertId ของบันทึกเริ่มต้นเพื่อเป็นข้อมูลอ้างอิงใน parent_insert_id
ด้วย คุณสามารถใช้ช่องนี้เพื่อรวมข้อมูลจากทั้งบันทึกและรับ
ภาพที่สมบูรณ์
ดูเอกสารประกอบสำหรับข้อความบันทึกและสคีมาทั้งหมดที่ใช้ได้ในการบันทึก ข้อมูลอ้างอิง
กำลังเปิดใช้ Cloud Logging
Fleet Engine จะเปิดใช้บันทึกเริ่มต้นโดยอัตโนมัติสำหรับลูกค้า Mobility รายใหม่ โดยเริ่มจากโปรเจ็กต์ที่สร้างขึ้นในวันที่ 10 กุมภาพันธ์ 2022 คุณสามารถยืนยันว่า มีการเปิดใช้งานการบันทึกโดยใช้ข้อความค้นหาต่อไปนี้ใน บันทึก สำรวจ
resource.type:"fleetengine.googleapis.com/DeliveryFleet"
หากไม่เห็นบันทึกสำหรับการค้นหาดังกล่าว แสดงว่าอาจมี Cloud Logging เปิดใช้สำหรับโปรเจ็กต์ของคุณ การติดต่อ การสนับสนุนหากคุณต้องการ เพื่อเปิดใช้ฟีเจอร์นี้
เปิดใช้บันทึกการใช้งานที่ถูกจำกัด
เปิดใช้บันทึกการใช้งานที่จำกัดตามคำขอแล้ว เมื่อต้องการเปิดใช้บันทึกเหล่านี้สำหรับ Google โปรเจ็กต์ที่อยู่ในระบบคลาวด์ ให้ทำตามขั้นตอนต่อไปนี้
เตรียมโปรเจ็กต์เพื่อรับบันทึกการใช้งานที่จํากัด
- เปิดหน้าเราเตอร์ของบันทึกในคอนโซล Google Cloud
- อัปเดตที่เก็บข้อมูลการบันทึก _Default เพื่อยกเว้นบันทึกการใช้งานที่ถูกจำกัด
- เลือกที่เก็บข้อมูลการบันทึก _Default แล้วเลือก Edit Sink
- ในหน้า "เลือกบันทึกเพื่อกรองออกจากซิงก์" คลิกส่วน "เพิ่ม
การยกเว้น" ปุ่ม:
- ชื่อตัวกรองการยกเว้น: ExcludeRestrictedLogs
- ตัวกรองการยกเว้น: labels.restriction="TOS_RESTRICTED"
- คลิก "อัปเดตซิงก์"
- อัปเดตที่เก็บข้อมูลการบันทึกแบบจำกัดเพื่อเก็บบันทึกการใช้งานที่จำกัด
- จากหน้า Log Router ให้เลือก "Create Sink"
- สร้างซิงก์ด้วยการตั้งค่าต่อไปนี้
- รายละเอียดซิงก์:
- ชื่อ: RestrictedLogs
- คำอธิบาย: บันทึกการใช้งานที่จำกัดของ Routes Fleet Engine
- ปลายทางของซิงก์:
- บริการซิงก์: ที่เก็บข้อมูลการบันทึก
- เลือกที่เก็บข้อมูลบันทึก: สร้างที่เก็บข้อมูลบันทึกใหม่
- ชื่อ: ถูกจำกัด
- คำอธิบาย: มีบันทึกการใช้งานที่จำกัดของ Fleet Engine
- ระยะเวลาเก็บรักษา: 30 วัน
- หมายเหตุ: ระยะเวลาเก็บรักษาต้องไม่เกิน 30 วัน
- บันทึกที่จะรวมไว้ในซิงก์: เว้นว่างไว้
- บันทึกที่จะกรองออกจากซิงก์: คลิก "เพิ่มการยกเว้น"
- ชื่อตัวกรองการยกเว้น: ExcludeNonRestrictedLogs
- ตัวกรองการยกเว้น: ไม่ (resource.type = "fleetengine.googleapis.com/Fleet" หรือ resource.type = "fleetengine.googleapis.com/DeliverFleet") ไม่ (labels.restriction = "TOS_RESTRICTED")
- คลิก "สร้างซิงก์"
- รายละเอียดซิงก์:
ติดต่อทีมสนับสนุนเพื่อเปิดใช้บันทึกการใช้งานที่ถูกจำกัด
จากนั้นติดต่อ การสนับสนุนและให้บริการ ข้อมูลต่อไปนี้ในคำขอการสนับสนุนของคุณ
- รหัสโปรเจ็กต์ที่จะเปิดใช้:
- อีเมลของผู้ที่ขอให้เปลี่ยนแปลง
- หมายเหตุ: บุคคลนี้ควรมีสิทธิ์แก้ไขโปรเจ็กต์ Google Cloud อยู่ในรายการ
- การเปิดใช้เนื้อหา Google Maps ที่มีการใช้งานแบบจำกัดใน Cloud Logging หมายความว่าคุณยอมรับ ให้เป็นไปตามแพลตฟอร์ม Google Maps ข้อกำหนดและบริการระบบเคลื่อนที่ เฉพาะ ข้อกำหนด รวมถึงข้อกำหนดเกี่ยวกับการแคชและการใช้งานที่ได้รับอนุญาตที่เกี่ยวข้องกับ Google เนื้อหาแผนที่ ใช่ / ไม่ใช่
เมื่อทีมสนับสนุนได้รับคำขอของคุณ ก็จะส่งการยืนยันว่าการบันทึก เปิดใช้สำหรับโปรเจ็กต์ของคุณแล้ว
แยกบันทึกของระบบคลาวด์
Cloud Logging จำกัดขนาดบันทึกขาเข้าไว้ที่ 256 KB บริการทิ้งบันทึก เกินเกณฑ์ดังกล่าว Fleet จะเก็บรักษาข้อมูลขนาดใหญ่เพื่อให้มั่นใจว่า Cloud Logging จะเก็บรักษาบันทึกขนาดใหญ่ เครื่องมือสามารถแยกไฟล์เป็นชุดบันทึกที่มีขนาดต่ำกว่าเกณฑ์ 256 KB บันทึกดังกล่าว มีร่วมกัน insertId นำหน้าเพื่อระบุลำดับที่บริการแยกบันทึกที่เล็กกว่าจาก บันทึกดั้งเดิมที่มีขนาดใหญ่เกินไป จากนั้น คุณจะเข้าร่วมด้วยกันได้อีกครั้งโดยอิงตาม insertId
หากต้องการเข้าถึงบันทึกที่ไม่ได้แยกส่วนต้นฉบับ ให้ผสานบันทึกที่แยกไว้ตาม insertIds ในลำดับเดิมที่มีการแยก ตามที่ระบุโดยดัชนีใน รายการบันทึกของระบบคลาวด์
โครงสร้างบันทึกการแบ่งจะเหมือนกับโครงสร้างที่กล่าวถึงในการตรวจสอบการแยก
คู่มือรายการบันทึกสำหรับ
บันทึกการตรวจสอบ Cloud ความแตกต่างที่สำคัญสำหรับบันทึกการแยกใน Fleet Logging คือ
การแยกเกิดขึ้นในช่อง jsonPayload
ไม่ใช่ใน protoPayload
ด้วย ดูการแยกตัวอย่างที่แสดงในส่วนถัดไป
ประเภทบันทึกที่รองรับ
Fleet Engine รองรับการแยกบันทึกสำหรับประเภทบันทึกต่อไปนี้เท่านั้น มีขนาดบันทึกเกิน 256 KB
ตัวอย่างโครงสร้างบันทึกการแยก
// 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
Fleet Engine จะส่งบันทึกไปยัง Cloud Logging ด้วย
ตั้งค่าresource.type
เป็น fleetengine.googleapis.com
แล้ว คุณสามารถใช้บันทึก
สำรวจเพื่อ
เขียนการค้นหาเพื่อดูบันทึกของคุณ
เช่น หากต้องการดู RPC ทั้งหมดที่ส่งไปยัง Fleet Engine ที่แสดงข้อผิดพลาด ให้ใช้เมธอด คำค้นหาเครื่องมือสำรวจบันทึกต่อไปนี้
resource.type:"fleetengine.googleapis.com/DeliveryFleet"
severity=ERROR
ในการดูบันทึกของ RPC ที่สร้างขึ้นในเมธอด UpdateDeliveryVehicle
สำหรับ
ตัวอย่างโปรเจ็กต์-รหัสโปรเจ็กต์ ให้ใช้การค้นหาเครื่องมือสำรวจบันทึกต่อไปนี้
logName="projects/project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle"
ตัวอย่างต่อไปนี้แสดงรายการบันทึกสำหรับ UpdateDeliveryVehicle
log คำขอและการตอบกลับ RPC จะอยู่ในช่อง 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 คุณสามารถ หลีกเลี่ยงการเรียกเก็บเงินที่อาจเกิดขึ้นกับ Cloud Logging ได้โดยปิดการส่งผ่านข้อมูล โดยค่าเริ่มต้น ระบบจะกำหนดเส้นทางบันทึกของ Fleet Engine ไปยังที่เก็บข้อมูลบันทึก _Default
คำสั่งต่อไปนี้อัปเดตที่เก็บข้อมูลการบันทึก _Default โดยไม่นำเข้า Fleet บันทึกของเครื่องมือ
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 Logging การส่งออกและการส่งออก บันทึก
ใช้เครื่องมือสำรวจบันทึก
หากต้องการใช้เครื่องมือสำรวจบันทึก ให้เปิด Cloud Console เลือกการบันทึก จากนั้น Logs Explorer ในการดูรายการของบันทึกของ Fleet Engine ทั้งหมด ให้คลิก ประเภททรัพยากร Fleet Engine บันทึก 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"
ตัวอย่างเมตริกตามบันทึก
ตัวอย่างต่อไปนี้จะแสดงวิธีใช้เมตริกตามบันทึกเพื่อติดตามจำนวน งานที่สร้างขึ้นในช่วงที่ผ่านมา
ใน Cloud Console ให้เลือกการบันทึก แล้วเลือก Logs Explorer เพื่อเปิด เครื่องมือสำรวจบันทึก จากนั้นใช้ตัวกรองต่อไปนี้
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")
ในแผงผลการค้นหา ให้เลือกรายการการกระทำแบบเลื่อนลง แล้วเลือก สร้างเมตริก
ในกล่องโต้ตอบเครื่องมือแก้ไขเมตริก
- ระบุชื่อเมตริก (เช่น billable_tasks)
- ระบุคำอธิบายเมตริก (เช่น จำนวนที่เรียกเก็บเงินได้ Tasks)
- ปล่อยตัวเลือกหน่วยว่างไว้ _ คงตัวเลือกประเภทไว้เป็น ตัวนับ
จากนั้นเลือกปุ่มสร้างเมตริก
ในหน้าเมตริกตามบันทึก คุณควรเห็นข้อความยืนยันว่า สร้างเมตริกสำเร็จแล้ว และเมตริกใหม่ควรปรากฏใน ส่วนเมตริกที่ผู้ใช้กำหนด ตอนนี้ระบบจะป้อนข้อมูลเมตริกเป็น "ตรงกัน" ระบบจะสร้างบันทึกขึ้น
เลือกเมนูแบบเลื่อนลงแนวตั้งทางด้านขวาของเมตริกใหม่ เลือกดูในเครื่องมือสำรวจเมตริก
ในแผงด้านซ้ายใต้ "สร้างคำค้นหาของคุณ" ให้ตั้งค่าประเภททรัพยากรเป็น Fleet Engine และค้นหาเมตริก billingable_tasks
กราฟทางด้านขวาจะแสดงอัตราการโทร billingable_tasks
การใช้ BigQuery
BigQuery เป็นเครื่องมือที่มีประสิทธิภาพในการวิเคราะห์ ใช้เพื่อจัดเก็บ บันทึกระยะยาวและค้นหาข้อมูลในลักษณะเดียวกับ SQL แบบเฉพาะกิจ
การกำหนดเส้นทางบันทึกไปยัง BigQuery
เพื่อใช้ประโยชน์จาก BigQuery บันทึกจะต้องถูกกำหนดเส้นทางไปยังที่เก็บข้อมูล BigQuery ในฐานะ ดังต่อไปนี้:
ใน Cloud Console ให้เลือกการบันทึก แล้วเลือก Logs Explorer
สร้างตัวกรองที่แยกบันทึกของ Fleet Engine ในตัวสำรวจช่องบันทึก เลือกประเภททรัพยากร Fleetengine.googleapis.com/DeliveryFleet
ในแผงผลการค้นหา ให้คลิกรายการแบบเลื่อนลง "การกระทำ" และเลือกสร้าง ซิงก์
ในกล่องโต้ตอบเลือกบริการซิงก์ ให้เลือกชุดข้อมูล BigQuery
ในกล่องโต้ตอบแก้ไขซิงก์ ให้ระบุตัวเลือกต่อไปนี้
- ระบุชื่อซิงก์ (เช่น FleetEngineLogsSink)
- ปล่อยบริการซิงก์เป็น BigQuery
- เลือกตัวเลือกใช้ตารางที่แบ่งพาร์ติชันแล้ว การดำเนินการนี้จะช่วยเพิ่มอันดับการค้นหา ด้านประสิทธิภาพ
- ในส่วนปลายทางของซิงก์ ให้เลือกสร้างชุดข้อมูล BigQuery ใหม่ แล้วเลือก ระบุชื่อชุดข้อมูล BigQuery (เช่น FleetEngineLogs)
- คลิกปุ่มสร้างซิงก์
ตอนนี้บันทึกของคุณควรเริ่มเติมข้อมูลชุดข้อมูล BigQuery คุณสามารถดู ในส่วน BigQuery ของ Cloud Console
ระบบจะป้อนข้อมูลหลายตารางภายใต้ชุดข้อมูล 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
จำนวนการแวะพักต่อยานพาหนะ 1 คันต่อชั่วโมง
คำค้นหาต่อไปนี้จะสร้างจำนวนการแวะพักที่ยานพาหนะเสีย ลดลงทุกชั่วโมง
ตัวอย่างเช่น ข้อความค้นหานี้อาจระบุว่าในชั่วโมงที่ผ่านมา
- ยานพาหนะ A หยุดพัก 10 ครั้งในชั่วโมง 12 และแวะพัก 8 ครั้งในชั่วโมง 13
- รถ B หยุดพัก 5 ครั้งในชั่วโมงที่ 11 และหยุดพัก 7 ครั้งในชั่วโมง 12
รถ C แวะพัก 12 ครั้งในชั่วโมงที่ 13 และหยุดพัก 9 ครั้งในชั่วโมง 14
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 เข้ากับเครื่องมือ Business Intelligence และแดชบอร์ดสามารถ สำหรับการวิเคราะห์ธุรกิจ
ตัวอย่างต่อไปนี้แสดงวิธีสร้างแดชบอร์ดเกี่ยวกับงานและยานพาหนะ และสามารถมองเห็นการเคลื่อนไหวบนแผนที่ได้
เปิดหน้าแดชบอร์ด Datastudio ใหม่และเลือก BigQuery เป็นข้อมูล การเชื่อมต่อ
เลือกการค้นหาที่กำหนดเองและเลือกโปรเจ็กต์ที่อยู่ในระบบคลาวด์ เรียกเก็บเงินแล้ว
ป้อนคำค้นหาต่อไปนี้ลงในช่องคำค้นหา
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`
เลือกประเภทแผนภูมิเป็น Bubble Map แล้วเลือกช่องตำแหน่ง
เลือกสร้างช่อง
ตั้งชื่อช่องและเพิ่มสูตรต่อไปนี้ CONCAT(lat, ",", lng)
จากนั้นตั้งค่าประเภทเป็น ภูมิศาสตร์->ละติจูด ลองจิจูด
คุณสามารถเพิ่มการควบคุมลงในหน้าแดชบอร์ดเพื่อกรองข้อมูลได้ ตัวอย่างเช่น เลือก ตัวกรองช่วงวันที่
แก้ไขช่องช่วงวันที่เพื่อเลือกช่วงวันที่เริ่มต้น
คุณเพิ่มการควบคุมรายการแบบเลื่อนลงเพิ่มเติมสำหรับ delivery_vehicle_id ได้
ตัวควบคุมเหล่านี้ช่วยให้คุณเห็นภาพการเคลื่อนที่ของยานพาหนะหรือ ความเคลื่อนไหวภายในการแสดงโฆษณา