لاگ ها را با BigQuery تجزیه و تحلیل کنید

BigQuery یک ابزار قدرتمند برای انجام تجزیه و تحلیل است. می توانید از آن برای ذخیره گزارش های طولانی مدت و انجام پرس و جوهای SQL مانند در برابر داده ها استفاده کنید. برای استفاده از BigQuery برای تجزیه و تحلیل، باید به طور واضح گزارش های خود را به BigQuery هدایت کنید، همانطور که در بخش بعدی توضیح داده شد.

گزارش مسیر به BigQuery

  1. در Logs Explorer ، فیلتری ایجاد کنید که گزارش‌های Fleet Engine را ایزوله می‌کند: Fleetengine.googleapis.com/Fleet .
  2. در قسمت Query Results ، روی منوی Actions یا More Actions کلیک کنید و Create Sink را انتخاب کنید.
  3. نام سینک را مشخص کنید (به عنوان مثال FleetEngineLogsSink ). روی Next کلیک کنید.
  4. در Sink Destination ، مجموعه داده BigQuery را انتخاب کنید.
  5. در انتخاب مجموعه داده BigQuery ، ایجاد مجموعه داده BigQuery جدید را انتخاب کنید.
  6. در گفتگوی ایجاد مجموعه داده ، شناسه مجموعه داده را وارد کنید.
  7. بقیه موارد را همانطور که هست رها کنید و روی ایجاد مجموعه داده کلیک کنید.
  8. استفاده از جداول پارتیشن بندی شده را علامت بزنید. روی Next کلیک کنید.
  9. ترک Choose logs to in sink و Choose logs to filter out of sink همانطور که هستند را ترک کنید.
  10. روی ایجاد سینک کلیک کنید.

گزارش‌های شما اکنون باید شروع به پر کردن مجموعه داده BigQuery کنند که ممکن است کمی طول بکشد. همچنین به گزارش های مسیر به مقصدهای پشتیبانی شده مراجعه کنید.

هنگامی که داده های گزارش را به BigQuery مسیریابی می کنید، چندین جدول در زیر مجموعه داده FleetEngineLogs به طور خودکار پر می شوند، یکی برای هر نوع گزارش:

  • Create Vehicle
  • GetVehicle
  • ListVehicles
  • جستجوی وسایل نقلیه
  • Update Vehicle
  • CreateTrip
  • GetTrip
  • UpdateTrip
  • ListTrips

نام جدول از الگوی زیر استفاده می کند:

project_id.data_set.log_name

به عنوان مثال، اگر پروژه تست-پروژه نامیده شود و نام مجموعه داده FleetEngineLogs باشد، جدول CreateTrip دارای نام زیر است:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

پرس و جوهای مثال برای BigQuery

نمونه پرس و جوهای زیر نشان می دهد که چگونه می توانید ورودی های مختلف گزارش را در BigQuery جستجو کنید.

تعداد گزارش‌های 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

تعداد توقف در هر وسیله نقلیه در ساعت

    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

به عنوان مثال، این پرس و جو می تواند به شما بگوید که در آخرین ساعت:

  • وسیله نقلیه A 10 توقف را در ساعت 12 و 8 توقف را در ساعت 13 انجام داد.
  • وسیله نقلیه B 5 توقف در ساعت 11 و 7 توقف در ساعت 12 انجام داد.
  • وسیله نقلیه C در ساعت 13 12 توقف و در ساعت 14 9 توقف انجام داد.

همچنین مشاهده گزارش‌های مسیریابی شده به BigQuery را ببینید.

BigQuery را با Looker Studio ادغام کنید

BigQuery را می توان با ابزارهای هوش تجاری برای ایجاد داشبورد برای تجزیه و تحلیل کسب و کار ادغام کرد. استودیو Looker را ببینید.

مثال زیر نحوه ساخت داشبورد Looker Studio را برای تجسم سفرها و حرکات وسیله نقلیه بر روی نقشه نشان می دهد.

  1. یک داشبورد Looker Studio جدید راه اندازی کنید و BigQuery را به عنوان اتصال داده انتخاب کنید.
  2. درخواست سفارشی را انتخاب کنید و به صورت دستی پروژه Cloud را که باید برای آن صورتحساب داده شود وارد یا انتخاب کنید.
  3. یکی از پرس و جوهای زیر را در کادر پرس و جو وارد کنید.

درخواست نمونه سفرهای درخواستی

    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.TableName.fleetengine_googleapis_com_update_vehicle`

پرس و جو نمونه کارهای Scheduled Tasks

    SELECT
    labels.delivery_vehicle_id,
    jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.longitude as lat, jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.latitude as lng
    FROM `ProjectID.TableName.fleetengine_googleapis_com_update_delivery_vehicle`
  1. نوع نمودار را به عنوان نقشه حبابی انتخاب کنید و سپس فیلد مکان را انتخاب کنید.
  2. افزودن فیلد را انتخاب کنید.
  3. فیلد را نامگذاری کنید و فرمول زیر را اضافه کنید: CONCAT(lat, ",", lng) .
  4. نوع را روی Geo->Latitude, Longitude تنظیم کنید.
  5. برای فیلتر کردن داده ها می توانید کنترل هایی را به داشبورد اضافه کنید. به عنوان مثال، فیلتر محدوده تاریخ را انتخاب کنید.
  6. کادر محدوده تاریخ را برای انتخاب یک محدوده تاریخ پیش فرض ویرایش کنید.
  7. می‌توانید کنترل‌های فهرست کشویی اضافی برای vehicle_id اضافه کنید. با این کنترل ها می توانید حرکت وسیله نقلیه یا حرکت در یک سفر را تجسم کنید.

خروجی نمونه Looker Studio:

خروجی نمونه Looker Studio

بعدش چی

برای پیروی از خط‌مشی‌های حفظ داده‌ها، به محدود کردن حفظ گزارش مراجعه کنید.