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

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

مسیردهی لاگ‌ها به BigQuery

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

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

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

  • ایجاد وسیله نقلیه
  • دریافت خودرو
  • فهرست وسایل نقلیه
  • جستجووسایل نقلیه
  • به‌روزرسانی خودرو
  • ایجاد سفر
  • گت‌تریپ
  • به‌روزرسانی
  • لیست تریپس

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

project_id.data_set.log_name

برای مثال، اگر نام پروژه test-project و نام مجموعه داده 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 در ساعت ۱۲، ۱۰ توقف و در ساعت ۱۳، ۸ توقف داشته است.
  • وسیله نقلیه B در ساعت 11، 5 توقف و در ساعت 12، 7 توقف داشته است.
  • وسیله نقلیه C در ساعت ۱۳، ۱۲ توقف و در ساعت ۱۴، ۹ توقف داشته است.

همچنین به بخش «مشاهده گزارش‌های ارسالی به BigQuery» مراجعه کنید.

ادغام BigQuery با Looker Studio

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

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

  1. یک داشبورد جدید Looker Studio راه‌اندازی کنید و BigQuery را به عنوان اتصال داده انتخاب کنید.
  2. گزینه Custom Query را انتخاب کنید و پروژه ابری که باید به آن صورتحساب ارسال شود را به صورت دستی وارد یا انتخاب کنید.
  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`

نمونه سوالات وظایف زمان‌بندی شده

    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. نوع نمودار (Chart Type) را به صورت نقشه حبابی (Bubble Map) انتخاب کنید و سپس فیلد مکان (location field) را انتخاب کنید.
  2. افزودن فیلد را انتخاب کنید.
  3. فیلد را نامگذاری کنید و فرمول زیر را اضافه کنید: CONCAT(lat, ",", lng) .
  4. نوع را روی Geo->Latitude, Longitude تنظیم کنید.
  5. شما می‌توانید کنترل‌هایی را به داشبورد اضافه کنید تا داده‌ها را فیلتر کنید. برای مثال، فیلتر Date-range را انتخاب کنید.
  6. کادر محدوده تاریخ را ویرایش کنید تا یک محدوده تاریخ پیش‌فرض انتخاب شود.
  7. شما می‌توانید کنترل‌های لیست کشویی اضافی برای vehicle_id اضافه کنید. با این کنترل‌ها، می‌توانید حرکت وسیله نقلیه یا حرکت در طول یک سفر را تجسم کنید.

خروجی مثال Looker Studio:

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

قدم بعدی چیست؟

برای رعایت سیاست‌های نگهداری داده‌ها، به محدود کردن نگهداری گزارش مراجعه کنید.