Ghi nhật ký

Fleet Engine cung cấp dịch vụ ghi nhật ký đơn giản cho phép bạn lưu Các yêu cầu API và tải trọng phản hồi. Với các nhật ký này, bạn có thể gỡ lỗi tích hợp, tạo chỉ số giám sát và phân tích mẫu lưu lượng truy cập.

Fleet Engine gửi nhật ký dưới dạng nền tảng nhật ký sang Cloud Ghi nhật ký để có thể sử dụng dịch vụ đám mây Các công cụ ghi nhật ký để truy cập vào các báo cáo này.

Dữ liệu nhật ký của Fleet Engine

Fleet Engine gửi nhiều thông tin đến Cloud Ghi nhật ký, chẳng hạn như:

  • Tất cả yêu cầu và phản hồi REST và gRPC đã được xác thực
  • Phản hồi lỗi
  • Yêu cầu, câu trả lời và thông báo lỗi trong các cuộc gọi do Tài xế khởi tạo SDK cho Fleet Engine.
  • Nhật ký phân tách cho các loại nhật ký được hỗ trợ:

Xem tài liệu về thông điệp nhật ký và giản đồ có sẵn trong phần Ghi nhật ký Tệp đối chiếu.

Dùng nhóm nhật ký mặc định và bị hạn chế để tuân thủ các chính sách giữ lại dữ liệu

Sử dụng nhãn "bị hạn chế" và "mặc định" giúp bạn hiểu rõ về hạn chế và không bị giới hạn. Một số dữ liệu nhật ký mà Fleet Engine gửi tới Nền tảng Google Maps chỉ có thể được giữ lại trong một khoảng thời gian giới hạn, theo Dành riêng cho dịch vụ hỗ trợ di chuyển Điều khoản. Để đảm bảo bạn chỉ giữ lại dữ liệu bị hạn chế trong khoảng thời gian cho phép, dữ liệu đó phải được gắn nhãn là TOS_như " HẠN CHẾ" ( Fleet Engine đã thực hiện việc này) và ghi vào một bộ chứa chuyên dụng có tên là "bị hạn chế".

Tại đây, bạn có thể kiểm soát thời gian lưu giữ và tự động xoá hoàn toàn bằng cách sử dụng cài đặt Ghi nhật ký trên đám mây. Ví dụ: nhật ký sử dụng bị hạn chế phải chỉ được giữ lại trong 30 ngày.

Ghi nhật ký tất cả dữ liệu không bị hạn chế còn lại về giá trị "mặc định" nhóm mà bạn có thể được giữ lại trong khoảng thời gian dài hơn như được xác định trong Phần dành riêng cho dịch vụ di động Điều khoản (thường trong 1 năm). Sử dụng nhãn "bị hạn chế" và "mặc định" bộ chứa đảm bảo rõ ràng hình ảnh về việc sử dụng dữ liệu bị hạn chế và không bị hạn chế của bạn.

Có được chế độ xem đầy đủ bằng cách hợp nhất các nhật ký bị hạn chế và không bị hạn chế

Nhật ký về mục đích sử dụng bị hạn chế chứa dữ liệu về việc sử dụng bị hạn chế và tham chiếu đến nhật ký mặc định để chúng có thể được xem xét cùng nhau. Nhật ký sử dụng bị hạn chế chứa insertId của nhật ký mặc định làm tham chiếu trong parent_insert_id . Bạn có thể sử dụng trường này để kết hợp dữ liệu từ cả hai nhật ký và lấy thông tin hình ảnh hoàn chỉnh.

Xem tài liệu về tất cả thông điệp nhật ký và giản đồ có sẵn trong phần Ghi nhật ký Tệp đối chiếu.

Bật tính năng ghi nhật ký trên đám mây

Fleet Engine tự động bật nhật ký mặc định cho khách hàng mới của Mobility, bắt đầu với các dự án được tạo vào ngày 10 tháng 2 năm 2022. Bạn có thể xác nhận việc Bật tính năng ghi nhật ký bằng cách sử dụng truy vấn sau trong phần Nhật ký Trình khám phá :

resource.type:"fleetengine.googleapis.com/DeliveryFleet"

Nếu bạn không thấy nhật ký nào cho truy vấn đó, thì có thể tính năng Ghi nhật ký trên đám mây chưa bật cho dự án của bạn. Lượt liên hệ Hỗ trợ nếu bạn muốn để bật tính năng này.

Bật nhật ký sử dụng bị hạn chế

Nhật ký sử dụng bị hạn chế được bật theo yêu cầu. Để bật các nhật ký này cho tài khoản Google Dự án trên đám mây, hãy hoàn thành các bước sau:

Chuẩn bị dự án để nhận nhật ký về mục đích sử dụng bị hạn chế

  1. Trong bảng điều khiển Google Cloud, hãy mở trang Bộ định tuyến nhật ký.
  2. Cập nhật bộ chứa ghi nhật ký _Default để loại trừ các nhật ký bị hạn chế sử dụng.
    1. Chọn bộ chứa ghi nhật ký _Default, rồi chọn Chỉnh sửa bồn lưu trữ dữ liệu.
    2. Trên mục "Chọn nhật ký để lọc ra bồn lưu trữ dữ liệu" hãy nhấp vào nút "Thêm Loại trừ" nút:
      1. Tên bộ lọc loại trừ: AllowRestrictedLogs
      2. Bộ lọc loại trừ: labels.restriction="TOS_ huỷED"
    3. Nhấp vào "Cập nhật bồn lưu trữ dữ liệu".
  3. Cập nhật bộ chứa Ghi nhật ký bị hạn chế để lưu trữ nhật ký về việc sử dụng bị hạn chế.
    1. Trên trang Ghi nhật ký bộ định tuyến, hãy chọn "Tạo bồn lưu trữ dữ liệu".
    2. Tạo bồn lưu trữ dữ liệu với các chế độ cài đặt sau:
      1. Thông tin chi tiết về bồn lưu trữ dữ liệu:
        1. Tên: RestrictedLogs
        2. Nội dung mô tả: Nhật ký về mục đích sử dụng hạn chế của Routes Fleet Engine
      2. Đích đến bồn lưu trữ dữ liệu:
        1. Dịch vụ bồn lưu trữ dữ liệu: Bộ chứa ghi nhật ký
        2. Chọn nhóm nhật ký: Tạo bộ chứa nhật ký mới
          1. Tên: Bị hạn chế
          2. Nội dung mô tả: Chứa nhật ký về mục đích sử dụng bị hạn chế của Fleet Engine
        3. Khoảng thời gian lưu giữ: 30 ngày
          1. Lưu ý: Khoảng thời gian lưu giữ không được vượt quá 30 ngày.
      3. Nhật ký để thêm vào bồn lưu trữ dữ liệu: để trống
      4. Nhật ký để lọc ra bồn lưu trữ dữ liệu: Nhấp vào "Thêm loại trừ"
        1. Tên bộ lọc loại trừ: ExcludeNonRestrictedLogs
        2. Bộ lọc loại trừ: NOT (resource.type = "fleetengine.googleapis.com/Fleet" HOẶC resource.type = "fleetengine.googleapis.com/deliveryFleet") KHÔNG (labels.restriction = "TOS_ hạn chế")
      5. Nhấp vào "Tạo bồn rửa"

Liên hệ với bộ phận hỗ trợ để bật nhật ký sử dụng bị hạn chế

Sau đó, hãy liên hệ với hỗ trợ và cung cấp thông tin sau đây trong yêu cầu hỗ trợ của bạn:

  1. (Các) mã dự án cần bật:
  2. Địa chỉ email của người yêu cầu thay đổi:
    1. Lưu ý: Người này phải có quyền Chỉnh sửa đối với các dự án trên Google Cloud trong danh sách.
  3. Khi bật chế độ sử dụng bị hạn chế đối với Nội dung trên Google Maps trong tính năng Ghi nhật ký trên đám mây, bạn đồng ý tuân thủ Nền tảng Google Maps điều khoảnDịch vụ hỗ trợ di chuyển cụ thể điều khoản, bao gồm cả các yêu cầu về việc lưu vào bộ nhớ đệm và việc sử dụng được phép liên quan đến Google Nội dung trên Maps. Có/Không

Sau khi nhận được yêu cầu của bạn, nhóm hỗ trợ sẽ gửi xác nhận rằng việc ghi nhật ký đã được bật cho dự án của bạn

Chia nhật ký trên đám mây

Tính năng Ghi nhật ký trên đám mây giới hạn kích thước của các nhật ký đến ở mức 256KB. Dịch vụ cập nhật nhật ký vượt quá ngưỡng đó. Để đảm bảo rằng Cloud Logging lưu giữ các nhật ký lớn, Fleet Công cụ có thể chia chúng thành một loạt nhật ký dưới ngưỡng 256KB. Các nhật ký như vậy có điểm chung insertId để cho biết thứ tự dịch vụ tách nhật ký nhỏ hơn khỏi nhật ký ngoại cỡ gốc. Sau đó, bạn có thể tham gia lại họ cùng nhau dựa trên insertId.

Để truy cập vào nhật ký không phân tách ban đầu, hãy hợp nhất các nhật ký phân tách theo insertIds theo thứ tự ban đầu mà chúng đã được tách, như được biểu thị bằng chỉ mục của chúng trong mục nhập nhật ký đám mây.

Cấu trúc nhật ký phân tách giống với cấu trúc được đề cập trong bài viết Kiểm tra phân tách hướng dẫn nhập nhật ký cho Nhật ký kiểm tra của Cloud. Điểm khác biệt chính của nhật ký phân tách trong tính năng Ghi nhật ký nhóm là việc phân tách xảy ra trong trường jsonPayload, thay vì trong protoPayload . Hãy xem ví dụ về cách phân tách trong phần tiếp theo.

Các loại nhật ký được hỗ trợ

Fleet Engine chỉ hỗ trợ phân tách nhật ký cho các loại nhật ký sau đây có kích thước nhật ký vượt quá 256KB:

Ví dụ về cấu trúc nhật ký phân tách

// First Split Log
{
  // insertId appended with an increasing number
  "insertId": "ABCDE-1",
  "jsonPayload": {
    "request": {
      "filter": "tracking_id=tracking-test-splitting-task"
    },
    "@type": "type.googleapis.com/maps.fleetengine.delivery.log.v1.ListTasksLog",
    "response": {
      "tasks": [
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-0",
          // ...
        },
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-1",
          // ...
        },
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-2"
          // ...
        },
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-3",
          // ...
        },
      ]
    },
    "header": {}
  },
  "resource": {
    "type": "fleetengine.googleapis.com/DeliveryFleet",
    "labels": {
      "resource_container": "projects/providers-123",
      "location": "global"
    }
  },
  // Same timestamp
  "timestamp": "2024-01-29T23:35:58.076515Z",
  "labels": {
  },
  "logName": "projects/providers-123/logs/fleetengine.googleapis.com%2Flist_tasks",
  "receiveTimestamp": "2024-01-29T23:35:59.278858322Z",
  "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": {
    "request": {
      "filter": "tracking_id=tracking-test-splitting-task"
    },
    "@type": "type.googleapis.com/maps.fleetengine.delivery.log.v1.ListTasksLog",
    "response": {
      "tasks": [
         // Previous tasks appear as empty objects in subsequent splits
        {}, {}, {}, {},
        {
          "name": "providers/providers-123/tasks/test-splitting-task-id-4",
          // ...
        }
      ]
    },
    "header": {}
  },
  "resource": {
    "type": "fleetengine.googleapis.com/DeliveryFleet",
    "labels": {
      "resource_container": "projects/providers-123",
      "location": "global"
    }
  },
  // Same timestamp
  "timestamp": "2024-01-29T23:35:58.076515Z",
  "labels": {
  },
  "logName": "projects/providers-123/logs/fleetengine.googleapis.com%2Flist_tasks",
  "receiveTimestamp": "2024-01-29T23:35:59.278858322Z",
  "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
  }
}

Truy cập vào nhật ký

Nhật ký trên đám mây được cấu trúc xoay quanh LogEntry . Fleet Engine gửi nhật ký đến Cloud Logging bằng Đã đặt resource.type thành fleetengine.googleapis.com. Bạn có thể sử dụng tính năng Nhật ký Người khám phá đến ghi các truy vấn để xem nhật ký của bạn.

Ví dụ: để xem tất cả RPC đến Fleet Engine trả về lỗi, hãy sử dụng truy vấn của Trình khám phá nhật ký sau đây:

resource.type:"fleetengine.googleapis.com/DeliveryFleet"
severity=ERROR

Để xem nhật ký của các RPC được tạo cho phương thức UpdateDeliveryVehicle cho dự án example-project-id, hãy sử dụng truy vấn sau đây của Trình khám phá nhật ký:

logName="projects/project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle"

Ví dụ sau đây cho thấy một mục LogEntry cho UpdateDeliveryVehicle nhật ký của bạn. Yêu cầu và phản hồi RPC nằm trong trường 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.UpdateDeliveryVehicleLog"
      },
      "resource": {
        "type": "fleetengine.googleapis.com/DeliveryFleet",
        "labels": {2}
      },
      "timestamp": "2021-01-01T00:00:00.000000000Z",
      "labels": {2},
      "logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle",
      "receiveTimestamp": "2021-01-01T00:00:00.000000000Z"
    }

Nếu lỗi RPC được trả về, trường responseDeliveryVehicle sẽ bị xoá và trường errorResponse được đặt và điền sẵn trong jsonPayload:

    {
      "insertId": "2ead60bdec561836a1bb84a90e9915cd",
      "jsonPayload": {
        "@type": "type.googleapis.com/maps.fleetengine.delivery.log.v1.UpdateDeliveryVehicleLog",
        "header": {
          "languageCode": "en",
          "osVersion": "11",
          "platform": "PLATFORM_LOG_ANDROID",
          "regionCode": "US",
          "sdkType": "SDK_TYPE_LOG_DRIVER",
          "sdkVersion": "4.4.3"
        },
        "request": {
          "deliveryVehicle": {4},
          "deliveryVehicleId": "uniqueDeliveryVehicleId",
          "updateMask": "lastLocation"
        },
        "response": {
          "lastLocation": {14},
          "name": "providers/example-project-id/deliveryVehicles/uniqueDeliveryVehicleId",
          "navigationStatus": "NAVIGATION_STATUS_ARRIVED_AT_DESTINATION",
          "remainingDistanceMeters": "430",
          "remainingDuration": "10s"
        }
      },
      "labels": {
        "delivery_vehicle_id": "uniqueDeliveryVehicleId"
      },
      "logName": "projects/example-project-id/logs/fleetengine.googleapis.com%2Fupdate_delivery_vehicle",
      "receiveTimestamp": "2023-07-14T22:57:51.156515110Z",
      "resource": {
        "labels": {2},
        "type": "fleetengine.googleapis.com/DeliveryFleet"
      },
      "timestamp": "2023-07-14T22:57:51.018045Z"
    }

Để biết thêm thông tin về ngôn ngữ truy vấn ghi nhật ký, hãy xem phần Truy vấn ghi nhật ký ngôn ngữ. Để biết thông tin về cách bạn có thể sử dụng nhật ký để tạo chỉ số, hãy xem bài viết Tổng quan dựa trên nhật ký chỉ số.

Quản lý chi phí ghi nhật ký

Sau khi bật tính năng ghi nhật ký, bạn có trách nhiệm thiết lập cách mình muốn để định tuyến, lưu trữ và giữ lại nhật ký của bạn. Bạn có thể phải trả thêm phí sử dụng Google Cloud khoản phí cho nhật ký truyền dẫn và giữ chân người dùng nếu bạn vượt quá giới hạn sử dụng và giữ chân người dùng không sạc. Tuy nhiên, bạn có thể kiểm soát chi phí ghi nhật ký bằng cách thực hiện một trong những việc sau:

Giảm mức sử dụng tính năng ghi nhật ký

Bạn có thể giới hạn lượng nhập dữ liệu nhật ký bằng cách loại trừ một số mục nhập nhật ký nhất định.

Xuất hoặc định tuyến nhật ký

Bạn có thể định tuyến nhật ký đến Google Cloud khác hoặc các đích đến bên ngoài để tránh nhập và lưu trữ mặc định. Hãy đảm bảo bạn đã tắt tính năng nhập nhật ký, như là được mô tả trong phần tiếp theo, nhằm tránh chi phí nhập.

Hãy tắt tính năng nhập nhật ký để tránh bị tính phí

Ưu tiên việc giảm mức sử dụng nhật ký, hoặc xuất hoặc định tuyến nhật ký thay vì chuyển tắt tính năng nhập nhật ký. Tuy nhiên, nếu không có ý định sử dụng nhật ký Fleet Engine, bạn có thể tránh các khoản phí có thể xảy ra với Ghi nhật ký đám mây bằng cách tắt tính năng nhập. Theo mặc định, Nhật ký Fleet Engine được chuyển đến bộ chứa nhật ký _Default.

Lệnh sau đây sẽ cập nhật bộ chứa ghi nhật ký _Default thành không nhập Nhóm thiết bị Nhật ký công cụ.

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"''

Để biết thêm thông tin, hãy xem bài viết: Ghi nhật ký đám mây Loại trừLoại trừ nhật ký. Ghi nhật ký trên đám mây XuấtXuất nhật ký

Sử dụng Trình khám phá nhật ký

Để sử dụng Trình khám phá nhật ký, hãy mở Cloud Console, chọn Logging (Ghi nhật ký) rồi sau đó Trình khám phá nhật ký. Để xem danh sách tất cả nhật ký hiện có của Fleet Engine, hãy nhấp vào loại tài nguyên Fleet Engine. Một số nhật ký Delivery API được gắn nhãn bằng Mã việc cần làm và mã xe giao hàng. Bạn có thể sử dụng các nhãn này để chọn nhật ký các nhiệm vụ hoặc phương tiện mà bạn quan tâm.

Nhãn nhật ký

Lọc nhật ký theo mã xe giao hàng

Trong Trình khám phá nhật ký, bạn có thể sử dụng truy vấn sau để hạn chế nhật ký ở loại xe cụ thể:

    resource.type="fleetengine.googleapis.com/DeliveryFleet"
    labels.delivery_vehicle_id="delivery_vehicle_id"

Lọc xe

Lọc nhật ký theo mã công việc

Trong Trình khám phá nhật ký, bạn có thể sử dụng truy vấn sau để hạn chế nhật ký ở tác vụ cụ thể:

    resource.type="fleetengine.googleapis.com/DeliveryFleet"
    labels.task_id=~"task_id"

Lọc nhật ký cho một chiếc xe trong một khoảng thời gian cụ thể

Trong Trình khám phá nhật ký, bạn có thể sử dụng truy vấn sau để hạn chế nhật ký ở những cho một chiếc xe trong một khoảng thời gian cụ thể:

    resource.type="fleetengine.googleapis.com/DeliveryFleet"
    labels.delivery_vehicle_id="delivery_vehicle_id"
    timestamp>="2020-09-24T20:00:00.000Z"
    timestamp<"2020-09-24T21:00:00.000Z"

Ví dụ về chỉ số dựa trên nhật ký

Ví dụ sau cho biết cách sử dụng chỉ số dựa trên nhật ký để theo dõi số lượng người dùng công việc được tạo theo thời gian.

  1. Trong Cloud Console, hãy chọn Logging (Ghi nhật ký) rồi chọn Logs Explorer (Trình khám phá nhật ký) để mở Trình khám phá nhật ký. Sau đó, áp dụng bộ lọc sau:

    resource.type="fleetengine.googleapis.com/DeliveryFleet" resource.labels.location="global"
    logName="projects/ProjectID/logs/fleetengine.googleapis.com%2Fupdate_task"
    jsonPayload.request.task.taskOutcome="TASK_OUTCOME_LOG_SUCCEEDED"
    jsonPayload.request.updateMask="taskOutcome"
    jsonPayload.response.type= ("TASK_TYPE_LOG_PICKUP" OR "TASK_TYPE_LOG_DELIVERY")
    
  2. Trong ngăn Kết quả truy vấn, chọn trình đơn thả xuống Hành động, rồi chọn Tạo chỉ số.

    Tạo chỉ số

  3. Trong hộp thoại Trình chỉnh sửa chỉ số:

    • Chỉ định tên chỉ số (ví dụ: billable_tasks).
    • Chỉ định nội dung mô tả cho chỉ số (ví dụ: Số mục Có thể lập hoá đơn Tasks).
    • Để trống tùy chọn Units. _ Để nguyên lựa chọn Type (Loại) Bộ đếm.

    Sau đó chọn nút Tạo chỉ số.

  4. Trên trang Chỉ số dựa trên nhật ký, bạn sẽ thấy thông báo xác nhận rằng đã được tạo thành công và chỉ số mới sẽ xuất hiện trong Phần chỉ số do người dùng xác định. Bây giờ, chỉ số sẽ được điền là khớp nhật ký sẽ được tạo.

  5. Chọn trình đơn thả xuống theo chiều dọc ở bên phải chỉ số mới, sau đó hãy chọn Xem trong Trình khám phá chỉ số.

    Xem chỉ số

  6. Trên ngăn bên trái trong mục Build Your Query (Tạo truy vấn của bạn), hãy đặt Resource Type (Loại tài nguyên) thành Fleet Engine và tìm kiếm chỉ số billable_tasks.

    Chỉ số tìm kiếm

    Biểu đồ ở bên phải cho thấy tỷ lệ cuộc gọi billable_tasks.

Sử dụng BigQuery

BigQuery là một công cụ mạnh mẽ để thực hiện phân tích. Có thể dùng để lưu trữ nhật ký dài hạn hơn và để thực hiện các truy vấn đặc biệt giống như SQL đối với dữ liệu.

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

Để tận dụng BigQuery, các nhật ký phải được chuyển đến kho dữ liệu BigQuery, như sau:

  1. Trong Cloud Console, hãy chọn Logging (Ghi nhật ký) rồi chọn Logs Explorer (Trình khám phá nhật ký).

  2. Tạo một bộ lọc để tách biệt nhật ký Fleet Engine. Trong Trình khám phá trường nhật ký, chọn loại tài nguyên Fleetengine.googleapis.com/DeliveryFleet.

    Sáng tạo
lọc

  3. Trong ngăn Kết quả truy vấn, hãy nhấp vào trình đơn thả xuống Thao tác rồi chọn Tạo Bồn lưu trữ dữ liệu.

    Sáng tạo
bồn rửa

  4. Trong hộp thoại Chọn dịch vụ bồn rửa, hãy chọn Tập dữ liệu BigQuery.

    Chọn
bồn rửa

  5. Trong hộp thoại Chỉnh sửa bồn lưu trữ dữ liệu, hãy chỉ định các tuỳ chọn sau:

    • Chỉ định tên bồn lưu trữ dữ liệu (ví dụ: FleetEngineLogsSink).
    • Để dịch vụ bồn lưu trữ dữ liệu là BigQuery.
    • Chọn tuỳ chọn Sử dụng bảng được phân vùng. Thao tác này sẽ thúc đẩy cụm từ tìm kiếm hiệu suất.
    • Trong mục Đích chứa bồn lưu trữ dữ liệu, hãy chọn Tạo tập dữ liệu BigQuery mới, rồi chọn chỉ định tên tập dữ liệu BigQuery (ví dụ: FleetEngineLogs).
    • Nhấp vào nút Tạo bồn lưu trữ dữ liệu.

    Chỉnh sửa
    bồn rửa

Bây giờ, nhật ký của bạn sẽ bắt đầu điền tập dữ liệu BigQuery. Bạn có thể thấy trong mục BigQuery của Cloud Console.

BigQuery
mục

Một số bảng trong tập dữ liệu FleetEngineLogs sẽ được điền sẵn tự động, mỗi loại cho một loại nhật ký:

  • CreateDeliveryVehicle
  • GetDeliveryVehicle
  • ListDeliveryVehicle
  • UpdateDeliveryVehicle
  • CreateTask
  • GetTask
  • UpdateTask
  • ListTasks

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 CreateTask có tên như sau:

test_project.FleetEngineLogs.fleetengine_googleapis_com_create_task

Cụm từ tìm kiếm mẫu

Phần này trình bày ví dụ về những truy vấn mà bạn có thể tạo.

Số việc cần làm được tạo mỗi giờ

Truy vấn sau đây đếm số lượng nhật ký CreateTasks và nhóm các nhật ký đó theo giờ.

    SELECT TIMESTAMP_TRUNC(timestamp, HOUR) as hour,
           count(*) as num_tasks_created
    FROM
    `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_create_task`
    GROUP BY hour
    ORDER by hour

Số điểm dừng trên mỗi xe mỗi giờ

Truy vấn sau đây tạo ra số điểm dừng mà xe bị hỏng giảm theo giờ.

Ví dụ: truy vấn này có thể cho 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.

    SELECT
      jsonpayload_v1_updatedeliveryvehiclelog.request.deliveryvehicleid AS vehicle,
      TIMESTAMP_TRUNC(timestamp, HOUR) AS hour,
      COUNT(*) AS num_stops
    FROM
      `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update_delivery_vehicle`
    WHERE
    ARRAY_LENGTH(jsonpayload_v1_updatedeliveryvehiclelog.request.deliveryvehicle.remainingvehiclejourneysegments) > 0
    AND jsonpayload_v1_updatedeliveryvehiclelog.request.deliveryvehicle.remainingvehiclejourneysegments[
    OFFSET
    (0)].stop.state = 'VEHICLE_STOP_STATE_LOG_ARRIVED'
    GROUP BY
    1,
    2
    ORDER BY
    2
    

Tỷ lệ thành công trong lần phân phối đầu tiên

Truy vấn sau đây cho biết tỷ lệ phần trăm thành công trong lần phân phối đầu tiên tỷ lệ thử.

    SELECT
     vehicle_id,
     COUNTIF(outcome = "TASK_OUTCOME_LOG_SUCCEEDED") AS num_success,
     COUNT(*) AS total_deliveries,
     COUNTIF(outcome = "TASK_OUTCOME_LOG_SUCCEEDED") * 100/ COUNT(*) AS success_rate
    FROM (
     SELECT
       labels.delivery_vehicle_id AS vehicle_id,
       jsonpayload_v1_updatetasklog.response.trackingid AS trackingid,
       ARRAY_AGG(jsonpayload_v1_updatetasklog.response.taskoutcome
       ORDER BY
         timestamp ASC)[ORDINAL(1)] AS outcome,
     FROM
     `ProjectId.FleetEngineLogsfleetengine_googleapis_com_update_task`
     WHERE
      jsonpayload_v1_updatetasklog.response.type = "TASK_TYPE_LOG_DELIVERY"
     GROUP BY 1, 2
     ORDER BY 1, 2)
    GROUP BY 1
    ORDER BY 1

Trang tổng quan Datastudio

BigQuery có thể được tích hợp với các công cụ thông tin kinh doanh, và các trang tổng quan cũng có thể giúp bạn để phục vụ cho mục đích phân tích kinh doanh.

Ví dụ sau đây trình bày cách tạo trang tổng quan dựa trên các nhiệm vụ và xe chuyển động có thể được trực quan hoá trên bản đồ.

  1. Ra mắt trang tổng quan Datastudio mới rồi chọn BigQuery làm dữ liệu kết nối.

    Dữ liệu
kết nối

  2. Chọn Truy vấn tuỳ chỉnh rồi chọn Dự án Google Cloud bạn muốn dùng lập hoá đơn.

    Chọn
dự án

  3. Nhập truy vấn sau vào hộp truy vấn.

    Vào cảnh
truy vấn

    SELECT
     timestamp,
     labels.delivery_vehicle_id,
    jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.latitude AS lat,
    jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.longitude AS lng
    FROM
    `ProjectId.FleetEngineLogs.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í.

    Biểu đồ
lượt chuyển đổi

  2. Chọn Tạo trường.

    Sáng tạo
trường

  3. Đặt tên cho trường và thêm công thức sau: CONCAT(lat, ",", lng).

    Sau đó, đặt loại thành Địa lý->Vĩ độ, Kinh độ.

    Đặt
lượt chuyển đổi

  4. 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.

    Thêm
chế độ điều khiển

  5. Chỉnh sửa hộp phạm vi ngày để chọn phạm vi ngày mặc định.

    Ngày
phạm vi

  6. Bạn có thể thêm các chế độ kiểm soát khác trong danh sách thả xuống cho delivery_vehicle_id.

    Trình đơn thả xuống
danh sách

Với 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 quá trình phân phối.