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

BigQuery là một công cụ mạnh mẽ để thực hiện phân tích. Bạn có thể sử dụng thư viện 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 BigQuery cho mục đích 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ư mô tả trong phần tiếp theo.

Chuyển hướng nhật ký đến BigQuery

  1. Trong Trình khám phá nhật ký, hãy tạo một bộ lọc tách riêng nhật ký của Công cụ của đội xe: Fleetengine.googleapis.com/Fleet.
  2. Trong Ngăn kết quả truy vấn, hãy nhấp vào trình đơn Thao tác hoặc Thao tác khác rồi chọn Tạo Sink.
  3. Chỉ định tên bồn lưu trữ (ví dụ: FleetEngineLogsSink). Nhấp vào Tiếp theo.
  4. Trong Sink Destination (Đích đến của vùng chứa), hãy chọn BigQuery dataset (Tập dữ liệu BigQuery).
  5. Trong phần 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ã nhận dạng tập dữ liệu.
  7. Để mọi thứ như cũ rồi nhấp vào Tạo tập dữ liệu.
  8. Đánh dấu vào Sử dụng bảng phân vùng. Nhấp vào Tiếp theo.
  9. Giữ nguyên các tuỳ chọn Chọn nhật ký để đưa vào bồn lưu trữChọn nhật ký để lọc ra khỏi bồn lưu trữ.
  10. Nhấp vào Create Sink (Tạo Sink).

Giờ đây, nhật ký của bạn sẽ bắt đầu điền vào tập dữ liệu BigQuery. Quá trình này có thể mất một chút thời gian. Xem thêm phần Chuyển hướng nhật ký đến các đích đến được hỗ trợ.

Sau 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 sẽ tự động được điền sẵn, mỗi bảng 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, thì bảng CreateTrip sẽ có tên như sau:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Ví dụ về truy vấn cho BigQuery

Các truy vấn mẫu sau đây cho thấy cách bạn có thể tìm kiếm nhiều mục nhập nhật ký 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 của 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 1 giờ qua:

  • Xe A đã hoàn thành 10 điểm dừng trong giờ thứ 12 và 8 điểm dừng trong giờ thứ 13.
  • Xe B đã hoàn thành 5 điểm dừng trong giờ thứ 11 và 7 điểm dừng trong giờ thứ 12.
  • Xe C đã hoàn thành 12 điểm dừng trong giờ thứ 13 và 9 điểm dừng trong giờ thứ 14.

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

Bạn có thể tích hợp BigQuery với các công cụ thông tin kinh doanh để tạo trang tổng quan cho số liệu phân tích kinh doanh. Xem Looker Studio.

Ví dụ sau đây cho thấy cách tạo trang tổng quan Looker Studio để minh hoạ các chuyến đi và chuyển động của xe trên bản đồ.

  1. Chạy trang tổng quan Looker Studio mới và chọn BigQuery làm kết nối dữ liệu.
  2. Chọn 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 để tính phí.
  3. Nhập một trong các truy vấn sau vào hộp truy vấn.

Ví dụ về truy vấn 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 về Tác vụ đã lên 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 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ế độ điều khiển 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 danh sách thả xuống khác cho vehicle_id. Với các chế độ điều khiển này, bạn có thể hình dung 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

Bước tiếp theo

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