Fleet Engine یک سرویس ورود به سیستم ساده ارائه می دهد که به شما امکان می دهد درخواست های API و بارهای پاسخ را ذخیره کنید. با استفاده از این گزارشها، میتوانید ادغام خود را اشکال زدایی کنید، معیارهای نظارتی ایجاد کنید و الگوهای ترافیک را تجزیه و تحلیل کنید.
Fleet Engine گزارشها را بهعنوان گزارشهای پلتفرم به Cloud Logging ارسال میکند تا بتوانید از ابزارهای Cloud Logging برای دسترسی به آنها استفاده کنید.
چه اطلاعاتی از موتور ناوگان ثبت می شود
Fleet Engine چندین اطلاعات را به Cloud Logging ارسال می کند، مانند:
- همه درخواستها و پاسخهای REST و gRPC تأیید شده
- پاسخ های خطا
- درخواستها، پاسخها و پیامهای خطا از تماسهای آغاز شده توسط Driver SDK به Fleet Engine.
- تقسیم گزارشها برای انواع گزارشهای پشتیبانی شده:
اسناد مربوط به پیامهای گزارش موجود و طرحواره را در مرجع ثبت گزارش مشاهده کنید.
از سطل های گزارش محدود و پیش فرض برای مطابقت با سیاست های حفظ داده ها استفاده کنید
استفاده از سطلهای "محدود" و "پیشفرض" تصویر واضحی از مصرف محدود و نامحدود داده شما را تضمین میکند. برخی از دادههای گزارشی که Fleet Engine به پلتفرم نقشههای Google ارسال میکند، طبق شرایط خاص سرویس Mobility، ممکن است فقط برای مدت زمان محدودی نگهداری شوند. برای اطمینان از اینکه دادههای محدود شده را فقط برای مدت زمان مجاز حفظ میکنید، چنین دادههایی باید با برچسب TOS_RESTRICTED (موتور Fleet این کار را قبلا انجام میدهد) و در یک سطل اختصاصی به نام "محدود" ثبت شوند.
از آنجا، میتوانید مدت زمان نگهداری آن را کنترل کنید و در زمان انقضا با استفاده از تنظیمات 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، صفحه Log Router را باز کنید.
- برای حذف گزارشهای استفاده محدود، سطل گزارش پیشفرض را بهروزرسانی کنید.
- سطل _Default logging را انتخاب کنید و سپس Edit sink را انتخاب کنید.
- در بخش «انتخاب گزارشها برای فیلتر کردن سینک»، روی دکمه «افزودن استثنا» کلیک کنید:
- نام فیلتر خروج: ExcludeRestrictedLogs
- فیلتر حذف: labels.restriction="TOS_RESTRICTED"
- روی "به روز رسانی سینک" کلیک کنید.
- برای ذخیره گزارشهای استفاده محدود، سطل ورود به سیستم محدود را بهروزرسانی کنید.
- از صفحه Log Router، "Create sink" را انتخاب کنید.
- یک سینک با تنظیمات زیر ایجاد کنید:
- جزئیات سینک:
- نام: RestrictedLogs
- توضیحات: سیاهههای مربوط به استفاده محدود Routes Fleet Engine
- مقصد سینک:
- سرویس سینک: سطل ورود به سیستم
- سطل گزارش را انتخاب کنید: سطل گزارش جدید ایجاد کنید
- نام: محدود
- توضیحات: شامل سیاهههای مربوط به استفاده محدود از موتور ناوگان است
- مدت نگهداری: 30 روز
- توجه: مدت نگهداری نباید بیش از 30 روز باشد.
- سیاهههای مربوط به سینک: خالی بگذارید
- گزارشها برای فیلتر کردن سینک: روی «افزودن استثنا» کلیک کنید
- نام فیلتر حذف: ExcludeNonRestrictedLogs
- فیلتر حذف: نه (resource.type = "fleetengine.googleapis.com/Fleet" OR resource.type = "fleetengine.googleapis.com/DeliveryFleet") نه (labels.restriction = "TOS_RESTRICTED")
- روی "ایجاد سینک" کلیک کنید
- جزئیات سینک:
برای فعال کردن گزارشهای استفاده محدود با پشتیبانی تماس بگیرید
سپس، با پشتیبانی تماس بگیرید و اطلاعات زیر را در درخواست پشتیبانی خود ارائه دهید:
- شناسه(های) پروژه برای فعال کردن:
- آدرس ایمیل شخص درخواست کننده تغییر:
- توجه: این شخص باید به پروژههای Google Cloud فهرست شده دسترسی ویرایش داشته باشد.
- با فعال کردن محتوای Google Maps با استفاده محدود در Cloud Logging، موافقت میکنید که به شرایط پلتفرم Google Maps و شرایط خاص سرویس Mobility ، از جمله الزامات ذخیرهسازی پنهان و استفاده مجاز در ارتباط با محتوای Google Maps پایبند باشید. بله خیر
هنگامی که تیم پشتیبانی درخواست شما را دریافت کرد، تأییدیه ای را ارسال می کند که ثبت گزارش برای پروژه شما فعال شده است
تقسیم گزارشهای ابری
Cloud Logging اندازه گزارشهای ورودی را به 256 کیلوبایت محدود میکند. این سرویس گزارشها را فراتر از این آستانه حذف میکند. برای اطمینان از اینکه Cloud Logging لاگهای بزرگ را حفظ میکند، Fleet Engine میتواند آنها را به مجموعهای از گزارشهای زیر آستانه ۲۵۶ کیلوبایت تقسیم کند. چنین گزارشهایی دارای یک پیشوند insertId مشترک هستند تا ترتیبی را نشان دهد که سرویس گزارش کوچکتر را از گزارش بزرگتر اصلی جدا میکند. سپس می توانید آنها را بر اساس insertId آنها دوباره به هم بپیوندید.
برای دسترسی به گزارش تقسیمنشده اصلی، گزارشهای تقسیمشده را بر اساس insertId آنها به ترتیبی که تقسیم شدهاند، ادغام کنید، همانطور که با نمایه آنها در ورودی گزارش ابری نشان داده شده است.
ساختار گزارش تقسیمبندی همان ساختاری است که در راهنمای ورودیهای گزارش حسابرسی تقسیمبندی برای گزارشهای حسابرسی ابری ذکر شده است. تفاوت عمده برای گزارش های تقسیم در Fleet Logging این است که تقسیم در فیلد jsonPayload
به جای فیلد protoPayload
رخ می دهد. تقسیم نمونه نشان داده شده در بخش بعدی را ببینید.
انواع گزارش های پشتیبانی شده
Fleet Engine از تقسیم گزارش فقط برای انواع سیاهههای زیر که اندازه لاگ آنها بیش از 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 ساختار یافتهاند. Fleet Engine با تنظیم resource.type
LogEntry به fleetengine.googleapis.com
گزارشها را به Cloud Logging ارسال میکند. می توانید از Logs Explorer برای نوشتن پرس و جو برای مشاهده گزارش های خود استفاده کنید.
به عنوان مثال، برای مشاهده تمام RPCها به Fleet Engine که خطا را برگردانده اند، از عبارت Logs Explorer زیر استفاده کنید:
resource.type:"fleetengine.googleapis.com"
severity=ERROR
برای مشاهده گزارش های RPCهای ساخته شده به روش UpdateVehicle
برای پروژه example-project-id، از عبارت Logs 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 جلوگیری کنید. به طور پیشفرض، گزارشهای Fleet 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 صادرات و صادرات سیاهههای مربوط
از Logs Explorer استفاده کنید
برای استفاده از Logs Explorer، Cloud Console را باز کنید، Logging و سپس Logs Explorer را انتخاب کنید. برای مشاهده لیستی از تمام گزارش های موجود در Fleet Engine، روی Fleet Engine Resource Type کلیک کنید. برخی از گزارشهای API با یک شناسه سفر و یک شناسه وسیله نقلیه برچسبگذاری شدهاند. می توانید از این برچسب ها برای انتخاب سیاهه های مربوط به سفرها یا وسایل نقلیه مورد علاقه خود استفاده کنید.
سیاهههای مربوط را با شناسه خودرو فیلتر کنید
در Logs Explorer، میتوانید از عبارت زیر برای محدود کردن گزارشها به یک وسیله نقلیه خاص استفاده کنید:
resource.type="fleetengine.googleapis.com/Fleet"
labels.vehicle_id="vehicle_id"
سیاهههای مربوط را با شناسه سفر فیلتر کنید
در Logs Explorer، میتوانید از عبارت زیر برای محدود کردن گزارشها به یک سفر خاص استفاده کنید:
resource.type="fleetengine.googleapis.com/Fleet"
labels.trip_id=~"trip_id"
سیاهههای مربوط به یک وسیله نقلیه در یک دوره زمانی خاص را فیلتر کنید
در Logs Explorer، میتوانید از عبارت زیر برای محدود کردن گزارشها به گزارشهای مربوط به یک وسیله نقلیه در یک دوره زمانی خاص استفاده کنید:
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، Logging و سپس Logs Explorer را انتخاب کنید تا Logs Explorer باز شود. سپس فیلتر زیر را اعمال کنید:
resource.type="audited_resource" resource.labels.method="maps.fleetengine.v1.TripService.ReportBillableTrip"
در قسمت Query Results، منوی کشویی Actions و سپس Create Metric را انتخاب کنید.
در گفتگوی ویرایشگر متریک:
- یک نام متریک (به عنوان مثال، billable_trips ) را مشخص کنید.
- یک توصیف متریک را مشخص کنید (به عنوان مثال، تعداد تماسهای سفر قابل پرداخت ).
- گزینه Units را خالی بگذارید. _ گزینه Type را به عنوان Counter بگذارید.
سپس دکمه Create Metric را انتخاب کنید.
در صفحه سنجههای مبتنی بر گزارشها، باید پیامی را ببینید که تأیید میکند معیار با موفقیت ایجاد شده است و معیار جدید باید در بخش معیارهای تعریف کاربر ظاهر شود. اکنون با ایجاد گزارشهای منطبق، متریک تکمیل میشود.
کشویی عمودی را در سمت راست متریک جدید انتخاب کنید و سپس View in Metrics Explorer را انتخاب کنید.
در قسمت سمت چپ زیر Build Your Query، نوع منبع را روی Fleet Engine قرار دهید و متریک billable_trips را جستجو کنید.
نمودار سمت راست میزان تماسهای billable_trips را نشان میدهد.
از BigQuery استفاده کنید
BigQuery یک ابزار قدرتمند برای انجام تجزیه و تحلیل است. می توان از آن برای ذخیره گزارش های بلندمدت و انجام پرس و جوهای موقت SQL مانند در برابر داده ها استفاده کرد.
گزارش مسیر به BigQuery
برای استفاده از BigQuery، لاگها باید به صورت زیر به یک داده BigQuery هدایت شوند:
در Cloud Console، Logging و سپس Logs Explorer را انتخاب کنید.
فیلتری ایجاد کنید که گزارش های Fleet Engine را ایزوله کند. در Logs Field Explorer، نوع منبع Fleetengine.googleapis.com/Fleet را انتخاب کنید.
در قسمت Query Results، روی منوی کشویی Actions کلیک کنید و Create Sink را انتخاب کنید.
در گفتگوی انتخاب سرویس سینک، مجموعه داده BigQuery را انتخاب کنید.
در گفتگوی Edit Sink، گزینه های زیر را مشخص کنید:
- نام سینک را مشخص کنید (به عنوان مثال FleetEngineLogsSink ).
- سرویس سینک را به عنوان BigQuery بگذارید.
- گزینه Use Partitioned Tables را انتخاب کنید. این کار عملکرد پرس و جو را افزایش می دهد.
- در قسمت Sink Destination، Create New BigQuery Dataset را انتخاب کنید و سپس نام مجموعه داده BigQuery را مشخص کنید (به عنوان مثال FleetEngineLogs ).
- روی دکمه Create Sink کلیک کنید.
گزارشهای شما اکنون باید شروع به پر کردن مجموعه داده BigQuery کنند. می توانید داده ها را در بخش BigQuery در Cloud Console مشاهده کنید.
چندین جدول زیر مجموعه داده FleetEngineLogs به طور خودکار پر می شوند، یکی برای هر نوع گزارش:
- Create Vehicle
- GetVehicle
- ListVehicles
- جستجوی وسایل نقلیه
- Update Vehicle
- 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 10 توقف را در ساعت 12 و 8 توقف را در ساعت 13 انجام داد.
- وسیله نقلیه B 5 توقف در ساعت 11 و 7 توقف در ساعت 12 انجام داد.
وسیله نقلیه 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 را به عنوان اتصال داده انتخاب کنید.
درخواست سفارشی را انتخاب کنید و پروژه Cloud را که باید برای آن صورتحساب داده شود انتخاب کنید.
پرس و جو زیر را در کادر پرس و جو وارد کنید.
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) .
سپس نوع را روی Geo->Latitude, Longitude قرار دهید.
برای فیلتر کردن داده ها می توانید کنترل هایی را به داشبورد اضافه کنید. به عنوان مثال، فیلتر محدوده تاریخ را انتخاب کنید.
کادر محدوده تاریخ را برای انتخاب یک محدوده تاریخ پیش فرض ویرایش کنید.
میتوانید کنترلهای فهرست کشویی اضافی برای خودرو_id اضافه کنید.
با این کنترل ها می توانید حرکت وسیله نقلیه یا حرکت در یک سفر را تجسم کنید.