Fleet Engine นำเสนอบริการบันทึกแบบง่ายที่ช่วยให้คุณบันทึกคำขอ API และเพย์โหลดการตอบกลับได้ บันทึกเหล่านี้จะช่วยให้คุณแก้ไขข้อบกพร่องของการผสานรวม สร้างเมตริกการตรวจสอบ และวิเคราะห์รูปแบบการรับส่งข้อมูลได้
Fleet Engine จะส่งบันทึกเป็นบันทึกแพลตฟอร์มไปยังการบันทึกระบบคลาวด์ เพื่อให้คุณใช้เครื่องมือการบันทึกในระบบคลาวด์เพื่อเข้าถึงไฟล์ดังกล่าวได้
สิ่งที่ Fleet Engine บันทึก
Fleet Engine จะส่งข้อมูลหลายรายการไปยังการบันทึกในระบบคลาวด์ เช่น
- คำขอและการตอบกลับ REST และ gRPC ที่ตรวจสอบสิทธิ์แล้วทั้งหมด
- การตอบกลับข้อผิดพลาด
- คำขอ การตอบกลับ และข้อความแสดงข้อผิดพลาดจากการเรียกที่เริ่มต้นโดย Driver 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 คุณจะตรวจสอบว่าได้เปิดใช้การบันทึกหรือไม่โดยใช้คำค้นหาต่อไปนี้ใน Logs Explorer
resource.type:"fleetengine.googleapis.com"
หากคุณไม่เห็นบันทึกใดๆ ของการค้นหานั้น แสดงว่าอาจไม่มีการเปิดใช้ Cloud Logging สำหรับโปรเจ็กต์ของคุณ โปรดติดต่อ ทีมสนับสนุนหากต้องการ เปิดใช้ฟีเจอร์นี้
เปิดใช้บันทึกการใช้งานแบบจำกัด
บันทึกการใช้งานแบบจำกัดจะเปิดใช้ตามคำขอ หากต้องการเปิดใช้บันทึกเหล่านี้สำหรับโปรเจ็กต์ Google Cloud ให้ทำตามขั้นตอนต่อไปนี้
เตรียมโปรเจ็กต์เพื่อรับบันทึกการใช้งานแบบจำกัด
- เปิดหน้าเราเตอร์บันทึกในคอนโซล Google Cloud
- อัปเดตที่เก็บข้อมูลการบันทึก _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/deliveryFleet") NOT (labels.restriction = "TOS_RESTRICTED")
- คลิก "สร้างซิงก์"
- รายละเอียดซิงก์:
ติดต่อทีมสนับสนุนเพื่อเปิดใช้บันทึกการใช้งานที่ถูกจำกัด
จากนั้นติดต่อทีมสนับสนุนและระบุข้อมูลต่อไปนี้ในคำขอการสนับสนุน
- รหัสโปรเจ็กต์ที่จะเปิดใช้:
- อีเมลของผู้ที่ขอให้ทำการเปลี่ยนแปลง:
- หมายเหตุ: บุคคลนี้ควรมีสิทธิ์แก้ไขโปรเจ็กต์ Google Cloud ที่แสดงอยู่
- การเปิดใช้เนื้อหา Google Maps ที่มีการใช้งานแบบจำกัดใน Cloud Logging หมายความว่าคุณยอมรับที่จะปฏิบัติตามข้อกำหนดของ Google Maps Platform และข้อกำหนดเฉพาะ บริการอุปกรณ์เคลื่อนที่ รวมถึงข้อกำหนดการแคชและการใช้งานที่ได้รับอนุญาตที่เกี่ยวข้องกับเนื้อหา Google Maps ใช่ / ไม่ใช่
เมื่อทีมสนับสนุนได้รับคำขอของคุณ จะเป็นการส่งการยืนยันว่าได้เปิดใช้การบันทึกสำหรับโปรเจ็กต์ของคุณแล้ว
แยกบันทึกของระบบคลาวด์
Cloud Logging จะจำกัดขนาดของบันทึกขาเข้าไว้ที่ 256 KB บริการลดลงเนื่องจากบันทึก เกินเกณฑ์ดังกล่าว Fleet Engine สามารถแยกบันทึกขนาดใหญ่ออกเป็นชุดบันทึกที่มีขนาดไม่เกิน 256KB เพื่อให้มั่นใจว่า Cloud Logging จะเก็บรักษาบันทึกขนาดใหญ่ไว้ บันทึกดังกล่าวจะมีคำนำหน้า insertId ทั่วไปสำหรับระบุลำดับที่บริการแยกบันทึกที่เล็กกว่าออกจากบันทึก ที่ขนาดใหญ่เกินขนาดเดิม จากนั้นคุณก็เข้าร่วมอีกครั้งตาม insertId ได้
หากต้องการเข้าถึงบันทึกที่ไม่ได้แยกต้นฉบับ ให้ผสานบันทึกการแยกด้วย insertId ในลำดับเดิมที่แยกไว้ ตามที่ระบุโดยดัชนีในรายการบันทึกระบบคลาวด์
โครงสร้างบันทึกการแยกจะเหมือนกับโครงสร้างที่กล่าวถึงในคำแนะนำรายการบันทึกการแยกสำหรับบันทึกการตรวจสอบ Cloud ความแตกต่างที่สําคัญสําหรับบันทึกการแยกใน Fleet Logging คือการแยกเกิดขึ้นในช่อง jsonPayload
แทนที่จะเป็นช่อง protoPayload
ดูตัวอย่างการแยกที่แสดงในส่วนถัดไป
ประเภทบันทึกที่รองรับ
Fleet Engine รองรับการแยกบันทึกเฉพาะสำหรับประเภทบันทึกต่อไปนี้ซึ่งมีขนาดบันทึกเกิน 256 KB
ตัวอย่างโครงสร้างบันทึกการแยก
// 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
}
}
เข้าถึงบันทึก
บันทึกของ Cloud มีโครงสร้างตามรูปแบบ LogEntry Fleet Engine ส่งบันทึกไปยัง Cloud Logging โดยตั้งค่า resource.type
ของ LogEntry เป็น fleetengine.googleapis.com
คุณจะใช้ Logs Explorer เพื่อเขียนคำค้นหาสำหรับดูบันทึกได้
เช่น หากต้องการดู RPC ทั้งหมดไปยัง Fleet Engine ที่ส่งคืนข้อผิดพลาด ให้ใช้คำค้นหาจาก Logging Explorer ดังต่อไปนี้
resource.type:"fleetengine.googleapis.com"
severity=ERROR
หากต้องการดูบันทึกของ RPC ที่สร้างไปยังเมธอด UpdateVehicle
สำหรับรหัสตัวอย่างโปรเจ็กต์ของโปรเจ็กต์ ให้ใช้การค้นหา Logging Explorer ต่อไปนี้
logName="projects/project-id/logs/fleetengine.googleapis.com%2Fupdate_vehicle"
ตัวอย่างต่อไปนี้แสดง LogEntry สำหรับบันทึก UpdateVehicle
คำขอ 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.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 คุณสามารถหลีกเลี่ยงค่าบริการ Cloud Logging ที่อาจเกิดขึ้นได้โดยปิดการส่งผ่านข้อมูล โดยค่าเริ่มต้น ระบบจะกำหนดเส้นทางบันทึกของ Flet Engine ไปยังที่เก็บข้อมูลบันทึก _Default
คำสั่งต่อไปนี้จะอัปเดตที่เก็บข้อมูลการบันทึก _Default ไม่ให้นำเข้าบันทึก Fleet Engine
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 และการส่งออกบันทึก
ใช้เครื่องมือสำรวจบันทึก
หากต้องการใช้ Logging Explorer ให้เปิด Cloud Console เลือกการบันทึก จากนั้นเลือก Logs Explorer หากต้องการดูรายการบันทึก Fleet Engine ทั้งหมดที่มี ให้คลิกประเภททรัพยากร Fleet Engine บันทึก API บางรายการจะติดป้ายกำกับเป็นรหัสการเดินทางและรหัสยานพาหนะ คุณสามารถใช้ป้ายกำกับเหล่านี้เพื่อเลือกบันทึกสำหรับการเดินทางหรือยานพาหนะที่สนใจ
กรองบันทึกตามรหัสรถ
ใน Logging Explorer คุณจะใช้การค้นหาต่อไปนี้เพื่อจำกัดบันทึกสำหรับยานพาหนะคันที่ต้องการได้
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 ให้เลือกการบันทึก แล้วเลือก Logs Explorer เพื่อเปิดเครื่องมือสำรวจบันทึก จากนั้นใช้ตัวกรองต่อไปนี้
resource.type="audited_resource" resource.labels.method="maps.fleetengine.v1.TripService.ReportBillableTrip"
ในแผงผลการค้นหา ให้เลือกเมนูแบบเลื่อนลงการดำเนินการ แล้วเลือกสร้างเมตริก
ในกล่องโต้ตอบเครื่องมือแก้ไขเมตริก ให้ทำดังนี้
- ระบุชื่อเมตริก (เช่น billable_trips)
- ระบุคำอธิบายเมตริก (เช่น จำนวนการโทรหาธุรกิจที่เรียกเก็บเงินได้)
- เว้นตัวเลือกหน่วยว่างไว้ _ ปล่อยตัวเลือก Type ไว้เป็น Counter
จากนั้นเลือกปุ่มสร้างเมตริก
ในหน้าเมตริกตามบันทึก คุณจะเห็นข้อความยืนยันว่าสร้างเมตริกเรียบร้อยแล้ว และเมตริกใหม่ควรปรากฏในส่วนเมตริกที่กำหนดโดยผู้ใช้ จากนั้นระบบจะสร้างเมตริกเมื่อมีการสร้างบันทึกที่ตรงกัน
เลือกเมนูแบบเลื่อนลงแนวตั้งทางด้านขวาของเมตริกใหม่ แล้วเลือกดูในเครื่องมือสำรวจเมตริก
ในแผงด้านซ้ายใต้ "สร้างคำค้นหาของคุณ" ให้ตั้งค่าประเภททรัพยากรเป็น Fleet Engine แล้วค้นหาเมตริก billingable_trips
กราฟทางด้านขวาแสดงอัตราการโทรผ่าน billingable_trips
ใช้ BigQuery
BigQuery เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการวิเคราะห์ ซึ่งสามารถใช้เพื่อเก็บบันทึกระยะยาวและดำเนินการค้นหาแบบ SQL แบบเฉพาะกิจกับข้อมูลได้
กำหนดเส้นทางบันทึกไปยัง BigQuery
หากต้องการใช้ประโยชน์จาก BigQuery คุณต้องกำหนดเส้นทางบันทึกไปยังพื้นที่เก็บข้อมูล BigQuery ดังนี้
ใน Cloud Console ให้เลือกการบันทึก แล้วเลือก Logs Explorer
สร้างตัวกรองที่แยกบันทึกของ Fleet Engine ในเครื่องมือสำรวจฟิลด์บันทึก ให้เลือกทรัพยากรประเภท Fleetengine.googleapis.com/Fleet
ในแผงผลการค้นหา ให้คลิกเมนูแบบเลื่อนลง "การดำเนินการ" แล้วเลือกสร้างซิงก์
ในกล่องโต้ตอบ "เลือกบริการซิงก์" ให้เลือกชุดข้อมูล BigQuery
ในกล่องโต้ตอบแก้ไขซิงก์ ให้ระบุตัวเลือกต่อไปนี้
- ระบุชื่อซิงก์ (เช่น FleetEngineLogsSink)
- ออกจากบริการซิงก์เป็น BigQuery
- เลือกตัวเลือกใช้ตารางที่แบ่งพาร์ติชันแล้ว วิธีนี้จะช่วยเพิ่มประสิทธิภาพ การค้นหาให้ดียิ่งขึ้น
- ในส่วนปลายทางของซิงก์ ให้เลือกสร้างชุดข้อมูล BigQuery ใหม่ แล้วระบุชื่อชุดข้อมูล BigQuery (เช่น FleetEngineLogs)
- คลิกปุ่ม สร้างซิงก์
ตอนนี้บันทึกของคุณควรเริ่มเติมข้อมูลให้กับชุดข้อมูล BigQuery แล้ว โดยคุณจะดูข้อมูลได้ในส่วน BigQuery ของ Cloud Console
ระบบจะป้อนข้อมูลตารางหลายตารางภายใต้ชุดข้อมูล FleetEngineLogs โดยอัตโนมัติ โดยแบ่งเป็น 1 ตารางสำหรับบันทึกแต่ละประเภท ดังนี้
- 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
จำนวนครั้งที่แวะพักต่อยานพาหนะ 1 คันต่อชั่วโมง
การค้นหาต่อไปนี้จะสร้างจำนวนการแวะพักที่ยานพาหนะให้บริการ โดยแจกแจงตามชั่วโมง
ตัวอย่างเช่น ข้อความค้นหานี้อาจบอกเราว่าใน 1 ชั่วโมงที่ผ่านมา
- ยานพาหนะ ก. แวะพัก 10 ครั้งในชั่วโมง 12 และแวะพัก 8 ครั้งในชั่วโมง 13
- ยานพาหนะ ข แวะพัก 5 จุดในชั่วโมง 11 และแวะพัก 7 จุดในชั่วโมง 12
รถ C แวะพัก 12 จุดในชั่วโมง 13 และแวะพัก 9 จุดในชั่วโมง 14
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 สามารถผสานรวมกับเครื่องมือ Business Intelligence และสามารถสร้างแดชบอร์ดสำหรับการวิเคราะห์ธุรกิจ
ตัวอย่างต่อไปนี้แสดงวิธีสร้างแดชบอร์ดว่าจะแสดงเส้นทางและการเคลื่อนไหวของยานพาหนะบนแผนที่ได้
เปิดหน้าแดชบอร์ด 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)
แล้วตั้งค่าประเภทเป็นภูมิศาสตร์->ละติจูด ลองจิจูด
คุณเพิ่มการควบคุมลงในหน้าแดชบอร์ดเพื่อกรองข้อมูลได้ เช่น เลือกตัวกรองช่วงวันที่
แก้ไขช่องช่วงวันที่เพื่อเลือกช่วงวันที่เริ่มต้น
คุณเพิ่มการควบคุมรายการแบบเลื่อนลงเพิ่มเติมสำหรับ local_id ได้
การควบคุมเหล่านี้ช่วยให้คุณเห็นภาพการเคลื่อนที่ของยานพาหนะหรือการเคลื่อนไหวภายในการเดินทางได้