Phân tích nhật ký bằng BigQuery

BigQuery là một công cụ mạnh mẽ để phân tích số liệu. Bạn có thể dùng mã này để lưu trữ các nhật ký dài hạn hơn và để thực hiện các truy vấn giống như SQL đối với dữ liệu. Để sử dụng Để phân tích, bạn phải định tuyến nhật ký của mình đến BigQuery một cách rõ ràng, như được mô tả trong phần tiếp theo.

Định tuyến nhật ký đến BigQuery

  1. Trong Logs Explorer (Trình khám phá nhật ký), hãy tạo bộ lọc tách riêng nhật ký Fleet Engine: Fleetengine.googleapis.com/Fleet.
  2. Trong ngăn Kết quả truy vấn, nhấp vào Tác vụ hoặc Tác vụ khác rồi chọn Tạo bồn lưu trữ dữ liệu.
  3. Chỉ định tên bồn lưu trữ dữ liệu (ví dụ: FleetEngineLogsSink). Nhấp vào Tiếp theo.
  4. Trong Trang đích của bồn rửa, hãy chọn Tập dữ liệu BigQuery.
  5. Trong mục Chọn tập dữ liệu BigQuery, hãy chọn Tạo tập dữ liệu BigQuery mới.
  6. Trong hộp thoại Tạo tập dữ liệu, hãy nhập Mã tập dữ liệu.
  7. Giữ nguyên mọi thứ, rồi nhấp vào Tạo tập dữ liệu.
  8. Đánh dấu vào mục Sử dụng bảng được phân vùng. Nhấp vào Tiếp theo.
  9. Chọn Chọn nhật ký để bao gồm trong bồn lưu trữ dữ liệuChọn nhật ký để lọc chìm một cách chính xác.
  10. Nhấp vào Tạo bồn lưu trữ dữ liệu.

Nhật ký của bạn bây giờ sẽ bắt đầu điền tập dữ liệu BigQuery. Tập dữ liệu này có thể mất một thời gian ngắn. Xem thêm phần Định tuyến nhật ký tới các đích đến được hỗ trợ.

Khi bạn định tuyến dữ liệu nhật ký đến BigQuery, một số bảng trong Tập dữ liệu FleetEngineLogs được điền tự động, mỗi loại cho một loại nhật ký:

  • CreateVehicle
  • GetVehicle
  • ListVehicles
  • SearchVehicles
  • UpdateVehicle
  • CreateTrip
  • GetTrip
  • UpdateTrip
  • ListTrips

Tên bảng sử dụng mẫu sau:

project_id.data_set.log_name

Ví dụ: nếu dự án có tên là test-project và tên tập dữ liệu là FleetEngineLogs, bảng CreateTrip có tên sau:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Truy vấn mẫu cho BigQuery

Các truy vấn mẫu sau cho thấy cách bạn có thể tìm kiếm các mục nhập nhật ký khác nhau trong BigQuery.

Số nhật ký CreateTrips được nhóm theo giờ

    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

Số điểm dừng trên mỗi phương tiện mỗi giờ

    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

Ví dụ: truy vấn này có thể cho bạn biết rằng trong giờ vừa qua:

  • Xe A dừng hết 10 lần trong giờ 12 và 8 lần dừng trong giờ 13.
  • Xe B đã dừng lại 5 điểm trong giờ 11 và 7 điểm dừng trong giờ 12.
  • Xe C đã dừng lại 12 điểm trong giờ 13 và 9 điểm dừng trong giờ 14.

Hãy xem thêm bài viết Xem nhật ký được định tuyến đến BigQuery.

Tích hợp BigQuery với Looker Studio

BigQuery có thể được tích hợp với các công cụ kinh doanh thông minh để tạo trang tổng quan để phân tích kinh doanh. Hãy xem Looker Studio.

Ví dụ sau đây trình bày cách tạo trang tổng quan Looker Studio cho trực quan hoá các chuyến đi và chuyển động của phương tiện trên bản đồ.

  1. Chạy trang tổng quan Looker Studio mới rồi chọn BigQuery làm mối kết nối dữ liệu.
  2. Chọn Custom Query (Truy vấn tuỳ chỉnh) rồi nhập hoặc chọn dự án trên đám mây theo cách thủ công để lập hoá đơn.
  3. Nhập một trong các truy vấn sau vào hộp truy vấn.

Truy vấn ví dụ về các chuyến đi theo yêu cầu

    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`

Truy vấn mẫu của Tác vụ theo lịch

    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. Chọn Loại biểu đồ là Bản đồ bong bóng, sau đó chọn trường vị trí.
  2. Chọn Thêm trường.
  3. Đặt tên cho trường này và thêm công thức sau: CONCAT(lat, ",", lng).
  4. Đặt loại thành Địa lý->Vĩ độ, Kinh độ.
  5. Bạn có thể thêm các chế độ kiểm soát vào trang tổng quan để lọc dữ liệu. Ví dụ: chọn bộ lọc Phạm vi ngày.
  6. Chỉnh sửa hộp phạm vi ngày để chọn phạm vi ngày mặc định.
  7. Bạn có thể thêm các chế độ điều khiển khác trong danh sách thả xuống cho vehicle_id. Bằng các nút điều khiển này, bạn có thể trực quan hoá chuyển động của xe hoặc chuyển động trong một chuyến đi.

Kết quả mẫu trong Looker Studio:

Kết quả mẫu trong Looker Studio

Các bước tiếp theo

Để tuân thủ các chính sách giữ lại dữ liệu, hãy xem phần Hạn chế nhật ký giữ chân người dùng.